home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mission 3
/
Mission 3.zip
/
Mission 3.iso
/
zugabe
/
va45
/
visual45
/
gwva_cte.s
< prev
next >
Wrap
Text File
|
1998-09-06
|
78KB
|
1,786 lines
;-------------------------------------------------------------------------
; Début des types spécifiques V.A
;-------------------------------------------------------------------------
GWVA_ROOT_OLBIT_TIMER_REARM = 0
GWVA_ROOT_MASK_TIMER_REARM = 1<<(15-GWVA_ROOT_OLBIT_TIMER_REARM)
;-------------------------------------------------------------------------
; Types des objets de base V.A
GWVA_OBJ_CTE_HANDLE_UNDEF = 0
;-------------------------------------------------------------------------
; Bits de propriétés de l'objet
GWVA_OBJ_OLBIT_ENCAPSULATES = 0
GWVA_OBJ_OLBIT_STOP_METHOD = 1
GWVA_OBJ_OLBIT_DISABLE_DEFAULT_METHOD= 2
GWVA_OBJ_MASK_ENCAPSULATES = 1<<(15-GWVA_OBJ_OLBIT_ENCAPSULATES)
GWVA_OBJ_MASK_STOP_METHOD = 1<<(15-GWVA_OBJ_OLBIT_STOP_METHOD)
GWVA_OBJ_MASK_DISABLE_DEFAULT_METHOD= 1<<(15-GWVA_OBJ_OLBIT_DISABLE_DEFAULT_METHOD)
;-------------------------------------------------------------------------
; Constantes pour définir les fins de listes de correspondance classe - liste de méthodes
GWVA_OBJ_CTE_END_CLASS_LIST = -63 ; fin de liste / fin rééle ou continuée
GWVA_OBJ_CTE_END_LINK_CLASS_LIST = 0 ; si 0 : fin réele sinon continuer parsing
;-------------------------------------------------------------------------
; Constantes pour définir les fins de listes d'héritage
GWVA_OBJ_CTE_END_INHERITANCE_LIST = -1 ; fin de liste
GWVA_OBJ_CTE_CLASS_UNDEF = 0 ; n'herite de rien
GWVA_OBJ_CTE_END_LINK_INHERITANCE_LIST = 0 : pas de continue (ruse !)
_GWVA_VAR_CLASS_COUNTER set 1
;-------------------------------------------------------------------------
; Constantes pour définir les fins de listes liées à l'objet de base
GWVA_OBJ_CTE_END_METHOD_LIST = -2
GWVA_OBJ_CTE_METHODLISTPTR_UNDEF = -3
GWVA_OBJ_CTE_BEFORE_AFTER_ON_OBJECT_CLASS = -4
;-------------------------------------------------------------------------
; Constantes pour définir les tailles et centrage des fenêtres
GWVA_WIND_CTE_SIZE_UNDEF = -32768
GWVA_WIND_CTE_H_CENTER = -32768
GWVA_WIND_CTE_V_CENTER = -32768
GWVA_WIND_CTE_FIELD_UNDEF = -32768
GWVA_WIND_CTE_HANDLE_UNDEF = $DEAD
;-------------------------------------------------------------------------
; Sous types de fenêtres (si CLASS_WINDOW)
;-------------------------------------------------------------------------
; Sous types de fenêtres RSC (si TYPE_RSC)
;-------------------------------------------------------------------------
; Constante définissant la fin d'une liste d'items que l'on recherche par
; leur shortcut qui dont être en premier sur un mot.
GWVA_ROOT_CTE_SHORTCUT_ENDS_LIST = $FFFF
*GWVA_OBJ_CTE_END_SHORTCUT_LIST = -1
*GWVA_MENU_CTE_END_MNULIST = -1
GWVA_ROOT_CTE_END_OFFSET_LIST = $80000000 ; Marque de fin de liste d'offset pour le clonage
;-------------------------------------------------------------------------
; Constantes associées à la fenêtre FORM
GWVA_WFORM_CTE_FOCUSED_IDX_UNDEF = -2
GWVA_WFORM_CTE_FOCUSED_IDX_1ST_FOUND = -3
GWVA_WFORM_CTE_FOCUSED_IDX_CURSOR_POS_UNDEF = -4
;-------------------------------------------------------------------------
GWVA_WRSC_CTE_REDRAW_PART_END_LIST = -1
;-------------------------------------------------------------------------
; Sous types d'objets formulaires (Si CLASS_FORM_OBJ)
;-------------------------------------------------------------------------
; Bits de statuts de la fenêtre générique : GWVA_WIND_OBJ_STATUS
GWVA_WIND_OLBIT_FULL = 0
GWVA_WIND_OLBIT_OPEN = 1
GWVA_WIND_OLBIT_CURS = 2
GWVA_WIND_OLBIT_ICON = 3
GWVA_WIND_OLBIT_NAMIFIED = 4
GWVA_WIND_OLBIT_SHADED = 5
GWVA_WIND_OLBIT_UNTOPPABLE = 6
GWVA_WIND_MASK_FULL = 1<<(15-GWVA_WIND_OLBIT_FULL)
GWVA_WIND_MASK_OPEN = 1<<(15-GWVA_WIND_OLBIT_OPEN)
GWVA_WIND_MASK_CURS = 1<<(15-GWVA_WIND_OLBIT_CURS)
GWVA_WIND_MASK_ICON = 1<<(15-GWVA_WIND_OLBIT_ICON)
GWVA_WIND_MASK_NAMIFIED = 1<<(15-GWVA_WIND_OLBIT_NAMIFIED)
GWVA_WIND_MASK_SHADED = 1<<(15-GWVA_WIND_OLBIT_SHADED)
GWVA_WIND_MASK_UNTOPPABLE = 1<<(15-GWVA_WIND_OLBIT_UNTOPPABLE)
;-------------------------------------------------------------------------
; Bits de propriétés de la fenêtre générique
GWVA_WIND_OLBIT_HIDETREE = 0 ; N'existe qu'à partir du 4.1
GWVA_WIND_OLBIT_AMENU = 1
GWVA_WIND_OLBIT_CTRLC = 2
GWVA_WIND_OLBIT_CTRLV = 3
GWVA_WIND_OLBIT_CTRLX = 4
GWVA_WIND_OLBIT_TOOLBAR = 5
GWVA_WIND_OLBIT_TOOLBAR_POS1 = 6
GWVA_WIND_OLBIT_TOOLBAR_POS2 = 7
GWVA_WIND_OLBIT_COPYXY = 8
GWVA_WIND_OLBIT_AUTODEL = 9
GWVA_WIND_OLBIT_FREEPTR1 = 10
GWVA_WIND_OLBIT_FREEPTR2 = 11
GWVA_WIND_OLBIT_FIRSTFOCUS = 12
GWVA_WIND_OLBIT_KEY2ARROW = 13
GWVA_WIND_MASK_HIDETREE = 1<<(31-GWVA_WIND_OLBIT_HIDETREE)
GWVA_WIND_MASK_AMENU = 1<<(31-GWVA_WIND_OLBIT_AMENU)
GWVA_WIND_MASK_CTRLC = 1<<(31-GWVA_WIND_OLBIT_CTRLC)
GWVA_WIND_MASK_CTRLV = 1<<(31-GWVA_WIND_OLBIT_CTRLV)
GWVA_WIND_MASK_CTRLX = 1<<(31-GWVA_WIND_OLBIT_CTRLX)
GWVA_WIND_MASK_TOOLBAR = 1<<(31-GWVA_WIND_OLBIT_TOOLBAR)
GWVA_WIND_MASK_TOOLBAR_TOP = 0<<(31-GWVA_WIND_OLBIT_TOOLBAR_POS2)|0<<(31-GWVA_WIND_OLBIT_TOOLBAR_POS1)
GWVA_WIND_MASK_TOOLBAR_LEFT = 0<<(31-GWVA_WIND_OLBIT_TOOLBAR_POS2)|1<<(31-GWVA_WIND_OLBIT_TOOLBAR_POS1)
GWVA_WIND_MASK_TOOLBAR_BOTTOM = 1<<(31-GWVA_WIND_OLBIT_TOOLBAR_POS2)|0<<(31-GWVA_WIND_OLBIT_TOOLBAR_POS1)
GWVA_WIND_MASK_TOOLBAR_RIGHT = 1<<(31-GWVA_WIND_OLBIT_TOOLBAR_POS2)|1<<(31-GWVA_WIND_OLBIT_TOOLBAR_POS1)
GWVA_WIND_MASK_TOOLBAR_POS = 1<<(31-GWVA_WIND_OLBIT_TOOLBAR_POS2)|1<<(31-GWVA_WIND_OLBIT_TOOLBAR_POS1)
GWVA_WIND_MASK_COPYXY = 1<<(31-GWVA_WIND_OLBIT_COPYXY)
GWVA_WIND_MASK_AUTODEL = 1<<(31-GWVA_WIND_OLBIT_AUTODEL)
GWVA_WIND_MASK_FREEPTR1 = 1<<(31-GWVA_WIND_OLBIT_FREEPTR1)
GWVA_WIND_MASK_FREEPTR2 = 1<<(31-GWVA_WIND_OLBIT_FREEPTR2)
GWVA_WIND_MASK_FIRSTFOCUS = 1<<(31-GWVA_WIND_OLBIT_FIRSTFOCUS)
GWVA_WIND_MASK_KEY2ARROW = 1<<(31-GWVA_WIND_OLBIT_KEY2ARROW)
;-------------------------------------------------------------------------
; Bits de properties de la fenêtre application
GWVA_WAPP_OLBIT_RSC_IN_MEM = 0
GWVA_WAPP_OLBIT_RSC_MULTI_RES = 1
GWVA_WAPP_OLBIT_BACKGROUND = 2
GWVA_WAPP_OLBIT_BACKGROUND_CENTER = 3
GWVA_WAPP_MASK_RSC_IN_MEM = 1<<(15-GWVA_WAPP_OLBIT_RSC_IN_MEM)
GWVA_WAPP_MASK_RSC_MULTI_RES = 1<<(15-GWVA_WAPP_OLBIT_RSC_MULTI_RES)
GWVA_WAPP_MASK_BACKGROUND = 1<<(15-GWVA_WAPP_OLBIT_BACKGROUND)
GWVA_WAPP_MASK_BACKGROUND_CENTER = 1<<(15-GWVA_WAPP_OLBIT_BACKGROUND_CENTER)
;-------------------------------------------------------------------------
; Bits de propriétés des fenêtres ressources
GWVA_WRSC_OLBIT_FREECLONE = 0
GWVA_WRSC_MASK_FREECLONE = 1<<(15-GWVA_WRSC_OLBIT_FREECLONE)
;-------------------------------------------------------------------------
; Bits de propriétés pour les menus
GWVA_RSC_OLBIT_FREECLONE = 0
GWVA_RSC_MASK_FREECLONE = 1<<(15-GWVA_RSC_OLBIT_FREECLONE)
;-------------------------------------------------------------------------
; Bits de propriétés des fenêtres bitmap
GWVA_WBITM_OLBIT_FREEDATA = 0
GWVA_WBITM_OLBIT_FREEPAL = 1
GWVA_WBITM_MASK_FREEDATA = 1<<(15-GWVA_WBITM_OLBIT_FREEDATA)
GWVA_WBITM_MASK_FREEPAL = 1<<(15-GWVA_WBITM_OLBIT_FREEPAL)
;-------------------------------------------------------------------------
; Constantes à fournir dans le champs GWVA_WAPP_OBJ_TSR_SIZE de l'objet WAPP
GWVA_TSR_SIZE_CTE_TEXT_DATA = -1 ; pour garder page base + section TEXT/DATA
GWVA_TSR_SIZE_CTE_TEXT_DATA_BSS = -2 ; pour garder page base + section TEXT/DATA/BSS
;-------------------------------------------------------------------------
; Bits de propriétés des fenêtres formulaire
GWVA_WFORM_OLBIT_COPY_FOCUS = 0
GWVA_WFORM_MASK_COPY_FOCUS = 1<<(15-GWVA_WFORM_OLBIT_COPY_FOCUS)
;-------------------------------------------------------------------------
; constantes pour la fenêtre menu
GWVA_MENU_OLBIT_OPEN = 0
GWVA_MENU_MASK_OPEN = 1<<(15-GWVA_MENU_OLBIT_OPEN)
GWVA_MENU_CTE_UNCHECK = 0
GWVA_MENU_CTE_CHECK = 1
GWVA_MENU_CTE_CHANGE_CHECK = 2
GWVA_MENU_CTE_TEST_CHECK = 3
GWVA_MENU_CTE_UNCHECKED = 0
GWVA_MENU_CTE_CHECKED = 1
;-------------------------------------------------------------------------
; Bits de propriétés de l'objet formulaire de base
;-------------------------------------------------------------------------
; Bits de propriétés de l'objet formulaire bouton
GWVA_FBTON_OLBIT_INIT_STATE = 0
GWVA_FBTON_MASK_INIT_STATE = 1<<(15-GWVA_FBTON_OLBIT_INIT_STATE)
;-------------------------------------------------------------------------
; Bits de propriétés de l'objet formulaire popup
GWVA_FPOP_OLBIT_INIT_SELECT = 0
GWVA_FPOP_MASK_INIT_SELECT = 1<<(15-GWVA_FPOP_OLBIT_INIT_SELECT)
;-------------------------------------------------------------------------
; Bits de propriétés de l'objet formulaire radio
GWVA_FRADIO_OLBIT_INIT_SELECT = 0
GWVA_FRADIO_MASK_INIT_SELECT = 1<<(15-GWVA_FRADIO_OLBIT_INIT_SELECT)
;-------------------------------------------------------------------------
; Bits de propriétés de l'objet formulaire slider
GWVA_FSLIDER_OLBIT_ORIENTATION = 0
GWVA_FSLIDER_MASK_ORIENTATION = 1<<(15-GWVA_FSLIDER_OLBIT_ORIENTATION)
GWVA_FSLIDER_MASK_HORIZONTAL = 0
GWVA_FSLIDER_MASK_VERTICAL = GWVA_FSLIDER_MASK_ORIENTATION
;-------------------------------------------------------------------------
; Bits pour le clonage des fenêtres
; Ne sont définis ici que les champs qui ne sont pas remplis automatiquement par le V.A.
GWVA_WIND_CLONE_BIT_FATHER_PTR = 0
GWVA_WIND_CLONE_BIT_NEXT_BROTHER_PTR= 1
GWVA_WIND_CLONE_BIT_FIRST_SON_PTR = 2
GWVA_WIND_CLONE_BIT_NAME = 3
GWVA_WIND_CLONE_BIT_INFO = 4
GWVA_WIND_CLONE_BIT_ICON_WIND_PTR = 5
GWVA_WIND_CLONE_BIT_MENU_SPEC_PTR = 6
*GWVA_WIN_CLONE_BIT_KEY_TABLE = 7
GWVA_WIND_CLONE_BIT_SPEC_PTR = 8
GWVA_WIND_CLONE_BIT_USER_PTR1 = 9
GWVA_WIND_CLONE_BIT_USER_PTR2 = 10
GWVA_WIND_CLONE_BIT_DATA_PTR = 16 ; WIND_BITMAP
GWVA_WIND_CLONE_BIT_PAL_PTR = 17 ; WIND_BITMAP
GWVA_WIND_CLONE_BIT_SAVED_FORM_GIVEN= 20 ; WIND_FORM : 1 = pointeur sur la sauvegarde du formulaire dans GWVA_WFORM_OBJ_CLONE_FORM_SAVE
GWVA_WIND_CLONE_BIT_DEF_OBJ_PTR_STRUCT= 21 ; pointeur des structures des objets des fenêtres formulaires
GWVA_WIND_CLONE_BIT_RECURSE = 31
GWVA_WIND_CLONE_MASK_FATHER_PTR = 1<<GWVA_WIND_CLONE_BIT_FATHER_PTR
GWVA_WIND_CLONE_MASK_NEXT_BROTHER_PTR= 1<<GWVA_WIND_CLONE_BIT_NEXT_BROTHER_PTR
GWVA_WIND_CLONE_MASK_FIRST_SON_PTR = 1<<GWVA_WIND_CLONE_BIT_FIRST_SON_PTR
GWVA_WIND_CLONE_MASK_NAME = 1<<GWVA_WIND_CLONE_BIT_NAME
GWVA_WIND_CLONE_MASK_INFO = 1<<GWVA_WIND_CLONE_BIT_INFO
GWVA_WIND_CLONE_MASK_ICON_WIND_PTR = 1<<GWVA_WIND_CLONE_BIT_ICON_WIND_PTR
GWVA_WIND_CLONE_MASK_MENU_SPEC_PTR = 1<<GWVA_WIND_CLONE_BIT_MENU_SPEC_PTR
*GWVA_WIND_CLONE_MASK_KEY_TABLE = 1<<GWVA_WIND_CLONE_BIT_KEY_TABLE
GWVA_WIND_CLONE_MASK_SPEC_PTR = 1<<GWVA_WIND_CLONE_BIT_SPEC_PTR
GWVA_WIND_CLONE_MASK_USER_PTR1 = 1<<GWVA_WIND_CLONE_BIT_USER_PTR1
GWVA_WIND_CLONE_MASK_USER_PTR2 = 1<<GWVA_WIND_CLONE_BIT_USER_PTR2
GWVA_WIND_CLONE_MASK_DATA_PTR = 1<<GWVA_WIND_CLONE_BIT_DATA_PTR
GWVA_WIND_CLONE_MASK_PAL_PTR = 1<<GWVA_WIND_CLONE_BIT_PAL_PTR
GWVA_WIND_CLONE_MASK_SAVED_FORM_GIVEN= 1<<GWVA_WIND_CLONE_BIT_SAVED_FORM_GIVEN
GWVA_WIND_CLONE_MASK_DEF_OBJ_PTR_STRUCT= 1<<GWVA_WIND_CLONE_BIT_DEF_OBJ_PTR_STRUCT
GWVA_WIND_CLONE_MASK_RECURSE = 1<<GWVA_WIND_CLONE_BIT_RECURSE
;-------------------------------------------------------------------------
; Bits et masques pour la sauvegarde/restauration d'un arbre ressource
GWVA_RSC_OLBIT_SAVE_STATE = 0 ; sauve l'état des objets et le caractère des BOXCHAR
GWVA_RSC_OLBIT_SAVE_TEDINFO = 1 ; sauve les TEDINFO
GWVA_RSC_OLBIT_SAVE_TEXT = 2 ; sauve les textes non éditables sauf le caractère des icones
GWVA_RSC_OLBIT_SAVE_FTEXT = 3 ; sauve les textes editables (texte+mise en forme+champ de saisie)
GWVA_RSC_OLBIT_SAVE_BITBLK = 4 ; sauve les BITBLK
GWVA_RSC_OLBIT_SAVE_ICONBLK = 5 : sauve les ICONBLK (+texte ?)
GWVA_RSC_OLBIT_SAVE_CICONBLK = 6 ; sauve les CICONBLK
GWVA_RSC_OLBIT_SAVE_APPLBLK = 7 ; sauve les APPLBLK
GWVA_RSC_MASK_SAVE_STATE = 1<<(15-GWVA_RSC_OLBIT_SAVE_STATE)
GWVA_RSC_MASK_SAVE_TEDINFO = 1<<(15-GWVA_RSC_OLBIT_SAVE_TEDINFO)
GWVA_RSC_MASK_SAVE_TEXT = 1<<(15-GWVA_RSC_OLBIT_SAVE_TEXT)
GWVA_RSC_MASK_SAVE_FTEXT = 1<<(15-GWVA_RSC_OLBIT_SAVE_FTEXT)
GWVA_RSC_MASK_SAVE_BITBLK = 1<<(15-GWVA_RSC_OLBIT_SAVE_BITBLK)
GWVA_RSC_MASK_SAVE_ICONBLK = 1<<(15-GWVA_RSC_OLBIT_SAVE_ICONBLK)
GWVA_RSC_MASK_SAVE_CICONBLK = 1<<(15-GWVA_RSC_OLBIT_SAVE_CICONBLK)
GWVA_RSC_MASK_SAVE_APPLBLK = 1<<(15-GWVA_RSC_OLBIT_SAVE_APPLBLK)
GWVA_RSC_SAVE_BASE = GWVA_RSC_MASK_SAVE_STATE|GWVA_RSC_MASK_SAVE_TEDINFO|GWVA_RSC_MASK_SAVE_TEXT|GWVA_RSC_MASK_SAVE_FTEXT
GWVA_RSC_OLBIT_RESTORE_STATE = GWVA_RSC_OLBIT_SAVE_STATE
GWVA_RSC_OLBIT_RESTORE_TEDINFO = GWVA_RSC_OLBIT_SAVE_TEDINFO
GWVA_RSC_OLBIT_RESTORE_TEXT = GWVA_RSC_OLBIT_SAVE_TEXT
GWVA_RSC_OLBIT_RESTORE_FTEXT = GWVA_RSC_OLBIT_SAVE_FTEXT
GWVA_RSC_OLBIT_RESTORE_BITBLK = GWVA_RSC_OLBIT_SAVE_BITBLK
GWVA_RSC_OLBIT_RESTORE_ICONBLK = GWVA_RSC_OLBIT_SAVE_ICONBLK
GWVA_RSC_OLBIT_RESTORE_CICONBLK = GWVA_RSC_OLBIT_SAVE_ICONBLK
GWVA_RSC_OLBIT_RESTORE_APPLBLK = GWVA_RSC_OLBIT_SAVE_APPLBLK
GWVA_RSC_MASK_RESTORE_STATE = GWVA_RSC_MASK_SAVE_STATE
GWVA_RSC_MASK_RESTORE_TEDINFO = GWVA_RSC_MASK_SAVE_TEDINFO
GWVA_RSC_MASK_RESTORE_TEXT = GWVA_RSC_MASK_SAVE_TEXT
GWVA_RSC_MASK_RESTORE_FTEXT = GWVA_RSC_MASK_SAVE_FTEXT
GWVA_RSC_MASK_RESTORE_BITBLK = GWVA_RSC_MASK_SAVE_BITBLK
GWVA_RSC_MASK_RESTORE_ICONBLK = GWVA_RSC_MASK_SAVE_ICONBLK
GWVA_RSC_MASK_RESTORE_CICONBLK = GWVA_RSC_MASK_SAVE_CICONBLK
GWVA_RSC_MASK_RESTORE_APPLBLK = GWVA_RSC_MASK_SAVE_APPLBLK
GWVA_RSC_RESTORE_BASE = GWVA_RSC_MASK_RESTORE_STATE|GWVA_RSC_MASK_RESTORE_TEDINFO|GWVA_RSC_MASK_RESTORE_TEXT|GWVA_RSC_MASK_RESTORE_FTEXT
;-------------------------------------------------------------------------
; Champs spécifiques à la fenêtre texte : properties/style/mode
GWVA_WTEXT_OLBIT_STYLE = 0
GWVA_WTEXT_OLBIT_CURSEUR = 1
GWVA_WTEXT_OLBIT_EDIT = 2
GWVA_WTEXT_OLBIT_PROPORTIONNAL = 3 *no yet supported
GWVA_WTEXT_MASK_STYLE = 1<<(15-GWVA_WTEXT_OLBIT_STYLE)
GWVA_WTEXT_MASK_CURSEUR = 1<<(15-GWVA_WTEXT_OLBIT_CURSEUR)
GWVA_WTEXT_MASK_EDIT = 1<<(15-GWVA_WTEXT_OLBIT_EDIT)
GWVA_WTEXT_MASK_PROPORTIONNAL = 1<<(15-GWVA_WTEXT_OLBIT_PROPORTIONNAL)
GWVA_WTEXT_STYLE_OLBIT_THICKENED = 0
GWVA_WTEXT_STYLE_OLBIT_BOLD = GWVA_WTEXT_STYLE_OLBIT_THICKENED
GWVA_WTEXT_STYLE_OLBIT_LIGHT = 1
GWVA_WTEXT_STYLE_OLBIT_SKEWED = 2
GWVA_WTEXT_STYLE_OLBIT_ITALIC = GWVA_WTEXT_STYLE_OLBIT_SKEWED
GWVA_WTEXT_STYLE_OLBIT_UNDERLINED = 3
GWVA_WTEXT_STYLE_OLBIT_INVERSE_VIDEO= 4
GWVA_WTEXT_STYLE_OLBIT_SPECIAL_CHAR = 5
*GWVA_WTEXT_STYLE_OLBIT_COLOR = 6 ; <- ERREUR - A VOIR
GWVA_WTEXT_STYLE_OLBIT_COLOR = 7 ; <- ERREUR - A VOIR
GWVA_WTEXT_STYLE_MASK_THICKENED = 1<<(7-GWVA_WTEXT_STYLE_OLBIT_THICKENED)
GWVA_WTEXT_STYLE_MASK_BOLD = 1<<(7-GWVA_WTEXT_STYLE_OLBIT_BOLD)
GWVA_WTEXT_STYLE_MASK_LIGHT = 1<<(7-GWVA_WTEXT_STYLE_OLBIT_LIGHT)
GWVA_WTEXT_STYLE_MASK_SKEWED = 1<<(7-GWVA_WTEXT_STYLE_OLBIT_SKEWED)
GWVA_WTEXT_STYLE_MASK_ITALIC = 1<<(7-GWVA_WTEXT_STYLE_OLBIT_ITALIC)
GWVA_WTEXT_STYLE_MASK_UNDERLINED = 1<<(7-GWVA_WTEXT_STYLE_OLBIT_UNDERLINED)
GWVA_WTEXT_STYLE_MASK_INVERSE_VIDEO = 1<<(7-GWVA_WTEXT_STYLE_OLBIT_INVERSE_VIDEO)
GWVA_WTEXT_STYLE_MASK_SPECIAL_CHAR = 1<<(7-GWVA_WTEXT_STYLE_OLBIT_SPECIAL_CHAR)
GWVA_WTEXT_STYLE_MASK_COLOR = 3<<(7-GWVA_WTEXT_STYLE_OLBIT_COLOR)
GWVA_WTEXT_STYLE_COLOR_0 = 0
GWVA_WTEXT_STYLE_COLOR_1 = 1<<(7-GWVA_WTEXT_STYLE_OLBIT_COLOR)
GWVA_WTEXT_STYLE_COLOR_2 = 2<<(7-GWVA_WTEXT_STYLE_OLBIT_COLOR)
GWVA_WTEXT_STYLE_COLOR_3 = 3<<(7-GWVA_WTEXT_STYLE_OLBIT_COLOR)
GWVA_WTEXT_MODE_CR_IS_CRLF = 0
GWVA_WTEXT_MODE_LF_IS_CRLF = 1
GWVA_WTEXT_FIELD_MODE = 2
GWVA_WTEXT_MODE_PRINT = 0<<GWVA_WTEXT_FIELD_MODE
GWVA_WTEXT_MODE_VT52 = 1<<GWVA_WTEXT_FIELD_MODE
GWVA_WTEXT_MODE_ALLCHAR = 2<<GWVA_WTEXT_FIELD_MODE
;-------------------------------------------------------------------------
; Constantes définissant des constantes souvent usitées pour les gadgets/properties
GWVA_WIND_GADGETS_MINIMUM = MASK_NAME|MASK_CLOSER|MASK_MOVER
GWVA_WIND_GADGETS_MAXIMUM = MASK_NAME|MASK_CLOSER|MASK_FULLER|MASK_MOVER|MASK_SIZER|MASK_UPARROW|MASK_DNARROW|MASK_VSLIDE|MASK_LFARROW|MASK_RTARROW|MASK_HSLIDE
GWVA_WRSC_GADGETS_BASE = MASK_NAME|MASK_CLOSER|MASK_FULLER|MASK_MOVER
GWVA_WIND_PROPERTIES_BASE = GWVA_WIND_MASK_COPYXY|GWVA_WIND_MASK_AUTODEL|GWVA_WIND_MASK_CTRLC|GWVA_WIND_MASK_CTRLV|GWVA_WIND_MASK_CTRLX
*GWVA_WFORM_SAVE_BASE = GWVA_WFORM_SAVE_MASK_STATE|GWVA_WFORM_SAVE_MASK_TEDINFO|GWVA_WFORM_SAVE_MASK_TEXT|GWVA_WFORM_SAVE_MASK_FTEXT|GWVA_WFORM_SAVE_MASK_STRUCT
;-------------------------------------------------------------------------
; constantes pour la routine de calcul des formes 3D d'un objet formulaire
GWVA_RSC_CTE_EPAISSEUR_OUTLINED = 3
GWVA_RSC_CTE_EPAISSEUR_SHADOWED = 3
GWVA_RSC_CTE_EPAISSEUR_G_BUTTON = 3
;-------------------------------------------------------------------------
; Paramètres d'entrée pour les fonctions GWVA_NO_FSEL_CP_BSS_UPDATE_FORM & GWVA_CALL_FSEL_CP_BSS_UPDATE_FORM
GWVA_CFCBUF_COPY_NAME = 0
GWVA_CFCBUF_COPY_PATH = 1
GWVA_CFCBUF_COPY_PATHNAME = 2
GWVA_CFCBUF_ALIGN_LEFT = 0
GWVA_CFCBUF_ALIGN_RIGHT = 1
GWVA_CFCBUF_ALIGN_CENTER = 2
GWVA_CFCBUF_REDRAW_NO = -1
GWVA_CFCBUF_REDRAW_YES = 1
;-------------------------------------------------------------------------
; Paramètres de sortie de GWVA_WIND_TEST_IF_WIND_ICONIFIED
GWVA_WIND_CTE_ICONIFIED_YES = 1
GWVA_WIND_CTE_ICONIFIED_NO = 2
;-------------------------------------------------------------------------
; Les méthodes VISUAL
;-------------------------------------------------------------------------
; Remarque : Dans la distribution de messages, ce n'est pas tous les ON_,
; puis toutes le méthodes et enfin tous les _ED !
; Pour les méthodes distribuées directement à l'objet application (timer,mzone1/2...)
; le code de retour (D6) n'influence pas le traitement s'il n'y a pas de lien d'encapsulation
; Une méthode ne peut renvoyer consumed/not_consumed que si elle a en entrée des
; paramètres lui permettant de savoir si elle doit ou non s'activer.
; Sur un event_message (VA_START) on appelle la méthode si elle est présente avec
; le buffer GEM en entrée pointé par a1, a0 pointeur sur l'objet application,
; le numéro du message dans d0.w.
;-------------------------------------------------------------------------
GWVA_MSG_LOG=$4567
GWVA_MSG_LOG_ACK=$7654
GWVA_MSG_WRSC_REDRAW_PART=$7766
; à voir
*GWVA_METHOD_MULTIREDRAW = GEM_MAX_MSG_NR+1
* ; Message interne pour les redraws du GWVA
GWVA_METHOD_BASE = $00010000
; Le BEFORE sert à :
; - faire un traitement supplémentaire avant la méthode (doit renvoyer NOT_CONSUMED)
; - empêcher le traitement de la méthode (doit renvoyer CONSUMED) ; dans ce cas pas d'AFTER
; L'AFTER sert à faire un traitement supplémentaire après la méthode si le traitement à eu lieu
;
; Le d6 renvoyé par la méthode est celui du traitement ou CONSUMED si le BEFORE a empêché
; l'action.
GWVA_METHOD_BIT_EVENT = 29 ; sert uniquement à ajoutter des tests de cohérence de modes d'appel de search_exec
GWVA_METHOD_BIT_BEFORE = 30 ; out : d6 = CONSUMED : pas d'execution de la méthode
GWVA_METHOD_BIT_AFTER = 31
GWVA_METHOD_MASK_EVENT = 1<<GWVA_METHOD_BIT_EVENT
GWVA_METHOD_MASK_BEFORE = 1<<GWVA_METHOD_BIT_BEFORE
GWVA_METHOD_MASK_AFTER = 1<<GWVA_METHOD_BIT_AFTER
GWVA_METHOD_PROPERTIES_OLBIT_COMMAND = 0
GWVA_METHOD_PROPERTIES_MASK_COMMAND = 1<<(7-GWVA_METHOD_PROPERTIES_OLBIT_COMMAND)
GWVA_METHOD_CTE_COMMAND_GOTO = 1
; première méthode (non Visual forcément) utilisable par le programmeur
GWVA_CTE_FIRST_USER_METHOD = GWVA_METHOD_BASE+$00020000
*********************************************
GWVA_METHODLIST_CONTINUED= GWVA_METHOD_BASE+1
; What: Fausse méthode pointant sur une autre liste à utiliser pour
; What: le parcours de recherche. Revient à un GOTO (pas un GOSUB !)
**********************************************
GWVA_METHOD_CREATE = GWVA_METHOD_BASE+$11
; What: Message reçu à la création d'un nouvel objet
; Who : *
; Rq : C'est le V.A qui alloue le handle, le met dans la structure
; Rq : puis appelle le CREATE.
; Rq : Si la méthode n'existe pas : le V.A s'arrète
; Rq : Si la méthode renvoie un code d'éxécution négatif : le V.A s'arrète
; Rq : Toute méthode create devrait tester que son père a bien fait le boulot.
; Rq : Il n'y a pas de BEFORE pour cette méthode ...
; Rq : Pour WAPP, cette méthode sera appelée pour ACC et PRG
; in : a0.l = pointeur sur l'objet
; out : d6.w = GWVA_PRGRET_CONSUMED
; out : d7.w = GWVA_NO_ERROR_GENERIC ou GWVA_ERROR_GENERIC
;GWVA_METHOD_ON_CREATE n'existe pas !
GWVA_METHOD_CREATED = GWVA_METHOD_CREATE|GWVA_METHOD_MASK_AFTER
; idem GWVA_METHOD_CREATE
; in : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
; Pour l'objet GWVA_WIND_CLASS_APPLICATION, les paramètres d'entrée du CREATED
; sont :
; a1.l : pointeur sur la ligne de commande
; d0.w : longueur de la ligne de commande
**********************************************
GWVA_METHOD_DELETE = GWVA_METHOD_BASE+$12
; What: Message demandant la destruction de l'objet
; Who : *
; Rq : C'est le V.A qui rend le handle après avoir activé la méthode
; Rq : Il n'y a pas de AFTER pour cette méthode ...
; Rq : doit pouvoir être appelé sans erreur même si déjà effacé
; in : a0.l = pointeur sur l'objet
; out : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
; out : d7.w = GWVA_NO_ERROR_GENERIC ou GWVA_ERROR_GENERIC
GWVA_METHOD_ON_DELETE = GWVA_METHOD_DELETE|GWVA_METHOD_MASK_BEFORE
; idem GWVA_METHOD_DELETE
;GWVA_METHOD_DELETED n'existe pas !
**********************************************
GWVA_METHOD_MOUSE_ZONE = GWVA_METHOD_BASE+$21
; What: Message reçu lors de l'entrée ou la sortie de la zone souris 1
; Who : *
; in : a0.l = pointeur sur l'objet ayant demandé à être averti de cet évèment
; in : d0.w = X
; in : d1.w = Y
; in : d2.l = [ Key state.w | mouse button.w ]
; out : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
; Aucune méthode ON_ ou _ED car cette méthode n'existe pas par défaut
**********************************************
GWVA_METHOD_TIMER = GWVA_METHOD_BASE+$22
; What: Message reçu lors du débordement du timer
; Who : *
; Rq : l'objet peut le redistribuer...
; in : a0.l = pointeur sur l'objet ayant demandé à être averti de cet évèment
; out : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
; Aucune méthode ON_ ou _ED car cette méthode n'existe pas par défaut
****************************************
GWVA_METHOD_CLICK = GWVA_METHOD_BASE+$31
; What: Traitement consécutif à la réception d'au moins un clic souris
; What: quelqu'il soit (doite/gauche) dans une fenêtre
; Who : GWVA_WIND_CLASS_APPLICATION
; Rq : Cette méthode reçoit le clic 'brute' de l'event_multi
; in : a0.l = pointeur sur l'objet
; in : d0.w = [ X.w ]
; in : d1.l = [ mouse button.w | Y.w ]
; in : d2.l = [ Key state.w | mouse count.w ]
; out : d6.w = GWVA_PRGRET_CONSUMED
GWVA_METHOD_ON_CLICK = GWVA_METHOD_CLICK|GWVA_METHOD_MASK_BEFORE
; idem GWVA_METHOD_CLICK
GWVA_METHOD_CLICKED = GWVA_METHOD_CLICK|GWVA_METHOD_MASK_AFTER
; idem GWVA_METHOD_CLICK
; in : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
******************************************
GWVA_METHOD_MESSAGE = GWVA_METHOD_BASE+$32
; What: Traitement consécutif à la réception d'un message GEM
; Who : GWVA_WIND_CLASS_APPLICATION
; Rq : La WAPP traite les messages par plages et les redistribue
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur le buffer GEM
; in : a2.l = pointeur sur le buffer GEM étendu (si présent)
; in : d0.w = numéro du message GEM
; out : d6.w = GWVA_PRGRET_CONSUMED
GWVA_METHOD_ON_MESSAGE = GWVA_METHOD_MESSAGE|GWVA_METHOD_MASK_BEFORE
; idem GWVA_METHOD_MESSAGE
GWVA_METHOD_MESSAGED = GWVA_METHOD_MESSAGE|GWVA_METHOD_MASK_AFTER
; idem GWVA_METHOD_MESSAGE
; in : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
***********************************************
GWVA_METHOD_OPEN = GWVA_METHOD_BASE+$101
; What: Message reçu à l'ouverture de l'objet
; Who : GWVA_OBJ_CLASS_WINDOW
; Rq : ouverture de la station de travail pour une WAPP
; Rq : sera appelé automatiquement par le V.A avant un AC_OPEN du GEM
; Rq : l'ancien my_init devient un AFTER|OPEN pour un PRG
; Rq : Par contre, pour un accessoire, c'est un AFTER|CREATE
; Rq : Il n'existe pas de message GEM correspondant
; in : a0.l = pointeur sur l'objet
; in : d0.w = handle GEM de la fenêtre destinatrice
; out : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
; out : d7.w = GWVA_NO_ERROR_GENERIC ou autre si erreur
GWVA_METHOD_ON_OPEN = GWVA_METHOD_OPEN|GWVA_METHOD_MASK_BEFORE
; idem GWVA_METHOD_OPEN
GWVA_METHOD_OPENED = GWVA_METHOD_OPEN|GWVA_METHOD_MASK_AFTER
; idem GWVA_METHOD_OPEN
; in : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
***********************************************
GWVA_METHOD_CLOSE = WM_CLOSED
; What: Message reçu à la fermeture de l'objet
; Who : GWVA_OBJ_CLASS_WINDOW
; Rq : Fermeture de la station de travail pour une WAPP
; Rq : Peut être un WM_CLOSED reçu du système ou un close généré.
; in : a0.l = pointeur sur l'objet
; in : d0.w = handle GEM de la fenêtre destinatrice
; out : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
; out : d7.w = GWVA_NO_ERROR_GENERIC ou autre si erreur
GWVA_METHOD_ON_CLOSE = GWVA_METHOD_CLOSE|GWVA_METHOD_MASK_BEFORE
; idem GWVA_METHOD_CLOSE
GWVA_METHOD_CLOSED = GWVA_METHOD_CLOSE|GWVA_METHOD_MASK_AFTER
; idem GWVA_METHOD_CLOSE
; in : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
********************************************
GWVA_METHOD_KEYPRESS = GWVA_METHOD_BASE+$103
; What: Message reçu lors de l'appui sur une touche (GEM)
; Who : GWVA_OBJ_CLASS_WINDOW
; Rq : La fenêtre application le reçoit et le redistribue à sa fenêtre
; Rq : GEM focusée. Cette dernière le redistribue à sa fille focusée, etc.
; Rq : A chaque niveau, le fenêtre regarde dans son menu puis dans son
; Rq : contenu si plus de win focus en dessous ou alors keypressed de sa fille
; Rq : Cette méthode appelera les méthodes WIND_FORM_KEYB et FORM_KEYPRESS qui pour un
; Rq : objet formulaire texte et génèrera les évènements CHANGED, LOST_FOCUS ...
; Rq : si le formulaire ne contient pas champ éditable et défault non activé
; Rq : =>on génère alors un KEYPRESSED.
; Rq : Le ON_KEYPRESS ainsie que le KEYPRESSED
; Rq : Si donné à l'objet application d6 = forcément CONSUMED
; in : a0.l = pointeur sur l'objet
; in : d0.w = Key code
; in : d1.w = Key state
; out : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
GWVA_METHOD_ON_KEYPRESS = GWVA_METHOD_KEYPRESS|GWVA_METHOD_MASK_BEFORE
; idem GWVA_METHOD_KEYPRESS
GWVA_METHOD_KEYPRESSED = GWVA_METHOD_KEYPRESS|GWVA_METHOD_MASK_AFTER
; idem GWVA_METHOD_KEYPRESS
; in : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
**************************************************
*GWVA_METHOD_WIND_KEYPRESS = GWVA_METHOD_BASE+$101
* ; What: Message reçu lors de l'appui sur une touche
* ; Who : GWVA_OBJ_CLASS_WINDOW
* ; in : a0 : pointeur sur l'objet
* ; in : d0.w = Key code
* ; in : d1.w = Key state
* ; out : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
*
*GWVA_METHOD_ON_WIND_KEYPRESS = GWVA_METHOD_WIND_KEYPRESS|GWVA_METHOD_MASK_BEFORE
* ; idem GWVA_METHOD_WIND_KEYPRESS
*
*GWVA_METHOD_WIND_KEYPRESSED = GWVA_METHOD_WIND_KEYPRESS|GWVA_METHOD_MASK_AFTER
* ; idem GWVA_METHOD_WIND_KEYPRESS
**********************************************
GWVA_METHOD_WIND_CLICK = GWVA_METHOD_BASE+$104
; What: Traitement consécutif à un simple/double/... clic souris
; What: quel qu'il soit (doite/gauche) dans une fenêtre
; Who : GWVA_OBJ_CLASS_WINDOW
; Rq : Le click+before est généré avant la distribution au contenu
; Rq : Ce n'est pas cette méthode qu'il faut appeler pour générer soi-même
; Rq : un clic artificel. (Appeler la méthode qui formate l'interface avant)
; in : a0.l = pointeur sur l'objet
; in : d0.l = [ X.w | handle fenêtre gem.w ]
; in : d1.l = [ Y.w | mouse button.w ]
; in : d2.l = [ Key state.w | mouse count.w ]
; out : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
GWVA_METHOD_ON_WIND_CLICK = GWVA_METHOD_WIND_CLICK|GWVA_METHOD_MASK_BEFORE
; idem GWVA_METHOD_WIND_CLICK
GWVA_METHOD_WIND_CLICKED = GWVA_METHOD_WIND_CLICK|GWVA_METHOD_MASK_AFTER
; idem GWVA_METHOD_WIND_CLICK
; in : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
********************************************************
GWVA_METHOD_WIND_CREATE_CONTENTS = GWVA_METHOD_BASE+$105
; What: Initialisation du contenu d'une fenêtre
; What: Calcul des tailles internes et des pointeurs spécifiques
; Who : GWVA_OBJ_CLASS_WINDOW
; Rq : Renseigne les champs GWVA_WIND_OBJ_CONTENTS_W/H
; in : a0.l = pointeur sur l'objet
; out : d6.w = GWVA_PRGRET_CONSUMED
; out : d7.w = GWVA_ERROR_GENERIC ou GWVA_NO_ERROR_GENERIC
; Pour les WFORM : Initialise l'objet focusé
GWVA_METHOD_WIND_CONTENTS_CREATED = GWVA_METHOD_WIND_CREATE_CONTENTS|GWVA_METHOD_MASK_AFTER
; idem GWVA_METHOD_WIND_CREATE_CONTENTS
; in : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
********************************************************
GWVA_METHOD_WIND_DELETE_CONTENTS = GWVA_METHOD_BASE+$106
; What: Destruction du contenu d'une fenêtre
; Who : GWVA_OBJ_CLASS_WINDOW
; Rq : libère le contenu spécifique (FORM,TEXT ...)
; Rq : doit pouvoir être appelé sans erreur même si déjà effacé
; in : a0.l = pointeur sur l'objet
; out : d6.w = GWVA_PRGRET_CONSUMED
GWVA_METHOD_WIND_ON_DELETE_CONTENTS = GWVA_METHOD_WIND_DELETE_CONTENTS|GWVA_METHOD_MASK_BEFORE
; idem GWVA_METHOD_WIND_DELETE_CONTENTS
;GWVA_METHOD_WIND_CONTENTS_DELETED n'existe pas !
********************************************************
GWVA_METHOD_WIND_REDRAW_CONTENTS_BOX = GWVA_METHOD_BASE+$107
; What: Ordre de redessin d'une partie du contenu d'une fenêtre
; Who : GWVA_OBJ_CLASS_WINDOW
; Rq : Cela correspond à un redessin élémentaire GEM, il n'y a donc
; Rq : pas lieu de redécouper la zone.
; Rq : Le clipping n'a pas été fait puisqu'il n'est pas nécesaire pour
; Rq : tous les types de fenêtres
; in : a0.l = pointeur sur l'objet
; in : d0.w = x
; in : d1.w = y
; in : d2.l = [ width.w | height.w ]
; out : d6.w = GWVA_PRGRET_CONSUMED
GWVA_METHOD_ON_WIND_REDRAW_CONTENTS_BOX = GWVA_METHOD_WIND_REDRAW_CONTENTS_BOX|GWVA_METHOD_MASK_BEFORE
; idem GWVA_METHOD_WIND_REDRAW_CONTENTS_BOX
GWVA_METHOD_WIND_CONTENTS_BOX_REDRAWN = GWVA_METHOD_WIND_REDRAW_CONTENTS_BOX|GWVA_METHOD_MASK_AFTER
; idem GWVA_METHOD_WIND_REDRAW_CONTENTS_BOX
***************************************************
GWVA_METHOD_WIND_SET_VSLIDER = GWVA_METHOD_BASE+$109
; What: Méthode pour déterminer la position du slider vertical de la
; What: fenêtre et le met à jour si nécessaire
; Who : GWVA_OBJ_CLASS_WINDOW
; Rq : -
; in : a0.l = pointeur sur l'objet fenêtre
; in : d0.w = hauteur total de la page
; in : d1.w = indice de la première ligne vue
; in : d2.w = hauteur vue de la page
; out : d6.w = GWVA_PRGRET_CONSUMED
***************************************************
GWVA_METHOD_WIND_SET_HSLIDER = GWVA_METHOD_BASE+$10A
; What: Méthode pour déterminer la position du slider horizontal de la
; What: fenêtre et le met à jour si nécessaire
; Who : GWVA_OBJ_CLASS_WINDOW
; Rq : -
; in : a0.l = pointeur sur l'objet fenêtre
; in : d0.w = largeur total de la page
; in : d1.w = indice de la première colonne vue
; in : d2.w = largeur vue de la page
; out : d6.w = GWVA_PRGRET_CONSUMED
*****************************************************
GWVA_METHOD_WIND_CALC_SLIDERS = GWVA_METHOD_BASE+$10B
; What: Méthode pour recalculer la taille et position d'une fenêtre
; What: et les actualiser si nécessaire
; Who : GWVA_OBJ_CLASS_WINDOW
; Rq : -
; in : a0.l = pointeur sur l'objet fenêtre
; out : d6.w = GWVA_PRGRET_CONSUMED
*******************************************************
GWVA_METHOD_WIND_NAMIFY_UNAMIFY = GWVA_METHOD_BASE+$10C
; What: Méthode pour namifier une fenêtre (ne laisser que le titre/info)
; Who : GWVA_OBJ_CLASS_WINDOW
; Rq : Ne peut pas s'appliquer à une fenêtre avec des sliders sous peine
; Rq : de bugs graphiques importants
; in : a0.l = pointeur sur l'objet fenêtre
; out : d6.w = GWVA_PRGRET_CONSUMED
************************************************************
GWVA_METHOD_WIND_REDRAW_ALL_CONTENTS = GWVA_METHOD_BASE+$10D
; What: Méthode pour effectuer le redraw de tout le contenu d'une fenêtre
; Who : GWVA_OBJ_CLASS_WINDOW
; Rq : La demande de dessin se fera via le pipe GEM
; in : a0.l = pointeur sur l'objet fenêtre
; out : d6.w = GWVA_PRGRET_CONSUMED
*************************************************************
GWVA_METHOD_WIND_REDRAW_PART_CONTENTS = GWVA_METHOD_BASE+$10E
; What: Méthode pour effectuer le redraw d'une partie XYWH du contenu
; What: d'une fenêtre.
; Who : GWVA_OBJ_CLASS_WINDOW
; Rq : La demande de dessin se fera via le pipe GEM
; in : a0.l = pointeur sur l'objet fenêtre
; in : d0.w = x
; in : d1.w = y
; in : d2.l = [ width.w | height.w ] de la zone à redessiner
; out : d6.w = GWVA_PRGRET_CONSUMED
****************************************************
GWVA_METHOD_WIND_SET_PALETTE = GWVA_METHOD_BASE+$10F
; What: Méthode pour effectuer le changement de palette couleur
; What: d'une fenêtre.
; Who : GWVA_OBJ_CLASS_WINDOW
; Rq : Seule la classe BITMAP contient cette méthode pour le moment
; in : a0.l = pointeur sur l'objet fenêtre
; out : d6.w = GWVA_PRGRET_CONSUMED
**************************************************************
GWVA_METHOD_WIND_MOVE_SLIDERS_WITH_KEY = GWVA_METHOD_BASE+$110
; What: Méthode transformant les touches de flêche en un évènement arrowed
; Who : GWVA_OBJ_CLASS_WINDOW
; Rq : Seule les classes BITMAP et TEXT contienentt cette méthode
; Rq : pour le moment.
; in : a0.l = pointeur sur l'objet fenêtre
; in : d0.w = [ Key code.w | Ascii code ] de la touche
; out : d6.w = GWVA_PRGRET_CONSUMED ou GWVA_PRGRET_NOT_CONSUMED
**************************************************************
GWVA_METHOD_WRSC_REDRAW_PART_CONTENTS = GWVA_METHOD_BASE+$121
; What: Méthode pour effectuer le redraw d'une liste d'objets FORM
; Who : GWVA_WRSC_CLASS_FORM
; Rq : La demande de dessin se fera via le pipe GEM
; Rq : C'est un message spécial étendu qui sera envoyé : GWVA_MSG_REDRAW_PART
; in : a0.l = pointeur sur l'objet fenêtre formulaire
; in : a1.l = pointeur sur un buffer liste de objet/profondeur
; terminée par GWVA_WFORM_CTE_REDRAW_PART_END_LIST
; aucune limite sur la taille du buffer pointé par a1:
; on morcellera si nécéssaire
; out : d6.w = GWVA_PRGRET_CONSUMED
*****************************************************
GWVA_METHOD_WFORM_CLEAR_FOCUS = GWVA_METHOD_BASE+$122
; What: Méthode ordonnant d'effacer son focus à fenêtre formulaire
; Who : GWVA_WRSC_CLASS_FORM
; Rq : Appelée par GWVA_METHOD_WIND_CLICK ou GWVA_METHOD_WIND_KEYPRESS
; Rq : Elle peut être appelée même s'il n'y a pas de focus mais => erreur
; Rq : Elle appelle un FORM_RELEASE_FOCUS puis un FORM_HIDE_FOCUS
; in : a0.l = pointeur sur l'objet fenêtre devant perdre le focus
; out : d6.w = GWVA_PRGRET_CONSUMED
; out : d7.w = GWVA_NO_ERROR_GENERIC ou GWVA_ERROR_GENERIC
GWVA_METHOD_ON_WFORM_CLEAR_FOCUS = GWVA_METHOD_WFORM_CLEAR_FOCUS|GWVA_METHOD_MASK_BEFORE
; idem GWVA_METHOD_WFORM_CLEAR_FOCUS
GWVA_METHOD_WFORM_FOCUS_CLEARED = GWVA_METHOD_WFORM_CLEAR_FOCUS|GWVA_METHOD_MASK_AFTER
; idem GWVA_METHOD_WFORM_CLEAR_FOCUS
; in : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
***************************************************
GWVA_METHOD_WFORM_SET_FOCUS = GWVA_METHOD_BASE+$123
; What: Méthode ordonnant à une fenêtre formulaire d'initialiser son focus
; Who : GWVA_WRSC_CLASS_FORM
; Rq : Appelée par GWVA_METHOD_WIND_CLICK ou GWVA_METHOD_WIND_KEYPRESS
; Rq : Elle peut être appelée même s'il y a déjà un focus mais => erreur
; Rq : Elle appelle un FORM_CATCH_FOCUS puis un FORM_SHOW_FOCUS
; Rq : Si le set focus échoue, à vous de le remettre sur l'ancien !
; in : a0.l = pointeur sur l'objet fenêtre devant gagner le focus
; in : d0.w = index ressource de l'objet
; in : d1.w = position du curseur (pour fin de ligne : GWVA_WFORM_CTE_FOCUSED_IDX_CURSOR_POS_UNDEF)
; out : d6.w = GWVA_PRGRET_CONSUMED
; out : d7.w = GWVA_NO_ERROR_GENERIC ou GWVA_ERROR_GENERIC
GWVA_METHOD_ON_WFORM_SET_FOCUS = GWVA_METHOD_WFORM_SET_FOCUS|GWVA_METHOD_MASK_BEFORE
; idem GWVA_METHOD_WFORM_SET_FOCUS
GWVA_METHOD_WFORM_FOCUS_SET = GWVA_METHOD_WFORM_SET_FOCUS|GWVA_METHOD_MASK_AFTER
; idem GWVA_METHOD_WFORM_SET_FOCUS
; in : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
****************************************************
GWVA_METHOD_WFORM_HIDE_FOCUS = GWVA_METHOD_BASE+$124
; What: Méthode ordonnant à une fenêtre formulaire de cacher son focus
; Who : GWVA_WRSC_CLASS_FORM
; Rq : Appelée par GWVA_METHOD_WFORM_CLEAR_FOCUS
; Rq : Elle peut être appelée même s'il n'y a pas de focus mais => erreur
; in : a0.l = pointeur sur l'objet fenêtre devant effacer le focus
; out : d6.w = GWVA_PRGRET_CONSUMED
; out : d7.w = GWVA_NO_ERROR_GENERIC ou GWVA_ERROR_GENERIC
****************************************************
GWVA_METHOD_WFORM_SHOW_FOCUS = GWVA_METHOD_BASE+$125
; What: Méthode ordonnant à une fenêtre formulaire de montrer son focus
; Who : GWVA_WRSC_CLASS_FORM
; Rq : Appelée par GWVA_METHOD_WFORM_SET_FOCUS
; Rq : Elle peut être appelée même s'il y a déjà un focus mais => erreur
; in : a0.l = pointeur sur l'objet fenêtre devant afficher le focus
; out : d6.w = GWVA_PRGRET_CONSUMED
; out : d7.w = GWVA_NO_ERROR_GENERIC ou GWVA_ERROR_GENERIC
**************************************************************
GWVA_METHOD_WRSC_UPDATE = GWVA_METHOD_BASE+$126
; What: Message reçu pour la mise à jour du menu (position et contenu)
; Who : GWVA_CLASS_WIND.RSC
; Rq : -
; in : a0.l = pointeur sur l'objet fenêtre
; out : d6.w = GWVA_PRGRET_CONSUMED
GWVA_METHOD_ON_WRSC_UPDATE = GWVA_METHOD_WRSC_UPDATE|GWVA_METHOD_MASK_BEFORE
; idem GWVA_METHOD_WRSC_UPDATE
GWVA_METHOD_WRSC_UPDATED = GWVA_METHOD_WRSC_UPDATE|GWVA_METHOD_MASK_AFTER
; idem GWVA_METHOD_WRSC_UPDATE
**************************************************************
GWVA_METHOD_WRSC_IDX_UNDER_XY = GWVA_METHOD_BASE+$127
; What: Renvoie l'index de l'objet sous l'emplacement x,y, ainsi
; What: que l'index du père de cet objet
; Who : GWVA_CLASS_WIND.RSC
; Rq : -
; in : a0.l = pointeur sur l'objet fenêtre
; in : a1.l = pointeur où ranger les deux index
; out : (a1) = idx de l'objet RSC
; out : 2(a1) = idx de l'objet RSC père
; out : d6.w = GWVA_PRGRET_CONSUMED
; out : d7.w = GWVA_NO_ERROR_GENERIC ou
; GWVA_WRSC_CTE_NO_RSC_OBJECT si pas d'objet RSC
*************************************************
GWVA_METHOD_WAPP_LOAD_RSC = GWVA_METHOD_BASE+$131
; What: Méthode chargeant le ressource de l'objet application
; Who : GWVA_WIND_CLASS_APPLICATION
; Rq : Appelée par GWVA_METHOD_CREATE de l'application
; in : a0.l = pointeur sur l'objet
; out : d6.w = GWVA_PRGRET_CONSUMED
; out : d7.w = GWVA_NO_ERROR_GENERIC ou erreur spécifique
***************************************************
GWVA_METHOD_WAPP_UNLOAD_RSC = GWVA_METHOD_BASE+$132
; What: Méthode déchargeant le ressource de l'objet application
; Who : GWVA_WIND_CLASS_APPLICATION
; Rq : Appelée par GWVA_METHOD_DELETEE de l'application
; in : a0.l = pointeur sur l'objet
; out : d6.w = GWVA_PRGRET_CONSUMED
; out : d7.w = GWVA_NO_ERROR_GENERIC ou erreur spécifique
****************************************************
GWVA_METHOD_WAPP_SET_RIGHT_PALETTE = GWVA_METHOD_BASE+$133
; What: Méthode pour effectuer le changement de palette couleur.
; Who : GWVA_OBJ_CLASS_APPLICATION
; Rq : Appelle la méthode SET_PALETTE de la fenêtre TOP.
; Rq : Si la fenêtre TOP n'est pas une fenêtre VA ou si elle
; Rq : ne contient pas la méthode SET_PALETTE, la palette du
; Rq : bureau est utilisée.
; in : a0.l = pointeur sur l'objet
; out : d6.w = GWVA_PRGRET_CONSUMED
***********************************************
GWVA_METHOD_MENU_SELECT = GWVA_METHOD_BASE+$141
; What: Méthode activant l'appel de la routine associée à un clic menu
; Who : GWVA_CLASS_MENU
; Rq : -
; in : a0.l = pointeur objet menu
; in : a1.l = pointeur sur le buffer message GEM
; out : d6.w = GWVA_PRGRET_CONSUMED
; out : d7.w = GWVA_NO_ERROR_GENERIC ou GWVA_ERROR_GENERIC si pas trouvé
GWVA_METHOD_ON_MENU_SELECT = GWVA_METHOD_MENU_SELECT|GWVA_METHOD_MASK_BEFORE
; idem GWVA_METHOD_MENU_SELECT
GWVA_METHOD_MENU_SELECTED = GWVA_METHOD_MENU_SELECT|GWVA_METHOD_MASK_AFTER
; idem GWVA_METHOD_MENU_SELECT
***********************************************
GWVA_METHOD_MENU_UPDATE = GWVA_METHOD_BASE+$142
; What: Message reçu pour la mise à jour du menu (position et contenu)
; Who : GWVA_CLASS_MENU
; Rq : -
; in : a0.l = pointeur objet menu
; out : d6.w = GWVA_PRGRET_CONSUMED
GWVA_METHOD_ON_MENU_UPDATE = GWVA_METHOD_MENU_UPDATE|GWVA_METHOD_MASK_BEFORE
; idem GWVA_METHOD_MENU_UPDATE
GWVA_METHOD_MENU_UPDATED = GWVA_METHOD_MENU_UPDATE|GWVA_METHOD_MASK_AFTER
; idem GWVA_METHOD_MENU_UPDATE
**********************************************
GWVA_METHOD_MENU_CLICK = GWVA_METHOD_BASE+$143
; What: Message reçu lors d'un appui sur un bouton de la souris (GEM)
; Who : GWVA_CLASS_MENU
; Rq : On recherche si le click s'est déroulé dans le menu ou dans les flêches
; Rq : si pas trouvé, renvoi NOT_CONSUMED dans D6.
; in : a0.l = pointeur objet menu
; in : a1.l = pointeur sur l'objet fenêtre contenant le menu
; in : d0.l = [ X.w | handle fenêtre gem.w ]
; in : d1.l = [ mouse button.w | Y.w ]
; in : d2.l = [ Key state.w | mouse count.w ]
; out : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
GWVA_METHOD_ON_MENU_CLICK = GWVA_METHOD_MENU_CLICK|GWVA_METHOD_MASK_BEFORE
; idem GWVA_METHOD_MENU_CLICK
GWVA_METHOD_MENU_CLICKED = GWVA_METHOD_MENU_CLICK|GWVA_METHOD_MASK_AFTER
; idem GWVA_METHOD_MENU_CLICK
**********************************************
GWVA_METHOD_MENU_REDRAW_ALL_CONTENTS = GWVA_METHOD_BASE+$144
; What: Méthode demandant le redessin du menu
; Who : GWVA_CLASS_MENU
; Rq : -
; in : a0.l = pointeur sur objet menu
; out : d6.w = GWVA_PRGRET_CONSUMED
; out : d7.w = GWVA_NO_ERROR_GENERIC ou GWVA_ERROR_ROOT_APPL_WRITE_FAILED si
; le message n'a pu être délivré
*****************************************************
GWVA_METHOD_MENU_MZONE_TITLE = GWVA_METHOD_BASE+$145
; What: Message reçu pour la gestion de la sortie du title
; Who : GWVA_CLASS_MENU
; Rq : -
; in : a0.l = pointeur sur objet menu
; in : d0.w = x souris
; in : d1.w = y souris
; out : d6.w = GWVA_PRGRET_CONSUMED
*****************************************************
GWVA_METHOD_MENU_ITEM_SELECTED = GWVA_METHOD_BASE+$146
; What: Méthode appelée par la fenêtre popup lors d'une sélection d'un item
; Who : GWVA_CLASS_MENU
; Rq : -
; in : a0.l = pointeur sur objet menu
; in : d0.w = index de l'objet sélectionné
; out : d6.w = GWVA_PRGRET_CONSUMED
***********************************************
GWVA_METHOD_MENU_CHECK = GWVA_METHOD_BASE+$147
; What: Gestion de la marque de check
; Who : GWVA_CLASS_MENU
; Rq : -
; in : a0.l = pointeur sur un objet menu
; in : d0.w = mode d'activation
; GWVA_MENU_CTE_UNCHECK
; GWVA_MENU_CTE_CHECK
; GWVA_MENU_CTE_CHANGE_CHECK
; GWVA_MENU_CTE_TEST_CHECK
; in : d1.w = index de l'item à checker
; out : d6.w = GWVA_PRGRET_CONSUMED
; out : d7.w = état du check avant
; GWVA_MENU_CTE_UNCHECK
; GWVA_MENU_CTE_CHECK
*********************************************************
GWVA_METHOD_WTEXT_WRITE_IN_BUFFER = GWVA_METHOD_BASE+$151
; What: Méthode pour écrire une chaine dans le buffer de la fenêtre.
; Who : GWVA_CLASS_WIND.TEXT
; Rq : Aucun affichage n'est effectué après cette méthode
; in : a0.l = pointeur sur l'objet fenêtre
; in : a1.l = pointeur sur le texte (terminé par un 0.b)
; out : d6.w = GWVA_PRGRET_CONSUMED
*********************************************************
GWVA_METHOD_WTEXT_WRITE_IN_WINDOW = GWVA_METHOD_BASE+$152
; What: Méthode pour écrire une chaine dans la fenêtre avec un
; What: affichage immédiat
; Who : GWVA_CLASS_WIND.TEXT
; Rq : -
; in : a0.l = pointeur sur l'objet fenêtre
; in : a1.l = pointeur sur le texte (terminé par un 0.b)
; out : d6.w = GWVA_PRGRET_CONSUMED
******************************************************
GWVA_METHOD_WTEXT_WRITE_BUFFER = GWVA_METHOD_BASE+$153
; What: Méthode pour écrire le buffer texte dans la fenêtre
; Who : GWVA_CLASS_WIND.TEXT
; Rq : -
; in : a0.l = pointeur sur l'objet fenêtre
; out : d6.w = GWVA_PRGRET_CONSUMED
******************************************************
GWVA_METHOD_WTEXT_CLEAR_BUFFER = GWVA_METHOD_BASE+$154
; What: Méthode pour effacer le buffer et réaliser un HOME
; Who : GWVA_CLASS_WIND.TEXT
; Rq : Pour avoir une visualisation de l'effacement du buffer (réactualisation
; Rq : des sliders, affichage ...) il faut appeler la méthode :
; Rq : GWVA_METHOD_WTEXT_WRITE_BUFFER
; in : a0.l = pointeur sur l'objet fenêtre
; out : d6.w = GWVA_PRGRET_CONSUMED
*****************************************************************
GWVA_METHOD_WTEXT_CLEAR_BUFFER_AND_UPDATE = GWVA_METHOD_BASE+$155
; What: Méthode pour effacer le buffer, réaliser un HOME et mettre à jour
; What: l'affichage.
; Who : GWVA_CLASS_WIND.TEXT
; Rq : -
; in : a0.l = pointeur sur l'objet fenêtre
; out : d6.w = GWVA_PRGRET_CONSUMED
**************************************************************
GWVA_METHOD_WTEXT_CORRECT_VISIBLE_SIZES = GWVA_METHOD_BASE+$156
; What: Méthode pour corriger la taille visible de la fenêtre texte
; What: (remise à une taille multiple d'un caractère)
; Who : GWVA_CLASS_WIND.TEXT
; Rq : -
; in : a0.l = pointeur objet
; out : d6.w = GWVA_PRGRET_CONSUMED
; out : d7.w = GWVA_NO_ERROR_GENERIC
*************************************************
GWVA_METHOD_FORM_KEYPRESS = GWVA_METHOD_BASE+$201
; What: Message reçu lors de l'appui sur une touche
; Who : GWVA_OBJ_CLASS_FORM_OBJ
; Rq : La fenêtre application le reçoit et le redistribue à sa fenêtre
; Rq : GEM focusée. Cette dernière le redistribue à sa fille focusée, etc.
; Rq : A chaque niveau, le fenêtre regarde dans son menu puis dans son
; Rq : contenu si plus de win focus en dessous ou alors keypressed de sa fille
; Rq : Cette méthode appelera les méthodes FORM_KEYB et OBJC_EDIT pour un
; Rq : objet formulaire texte et génèrera les évènements CHANGED, LOST_FOCUS ...
; Rq : si le formulaire ne contient pas champ éditable et défault non activé =>
; Rq : on génère alors un KEYPRESSED.
; Rq : Le ON_KEYPRESS est exécuté tout le temps alors que le KEYPRESSED ne l'est
; Rq : que si keypress_fille/resultat_contenu dit NOT_CONSUMED.
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur la fenêtre formulaire contenant l'objet
; in : a2.l = pointeur sur l'arbre formulaire en question
; in : d0.w = index GEM de l'objet devant faire l'objc_edit
; in : d1.w = position du curseur
; in : d2.w = [ Key state.w | Key code.w ]
; out : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
GWVA_METHOD_ON_FORM_KEYPRESS = GWVA_METHOD_FORM_KEYPRESS|GWVA_METHOD_MASK_BEFORE
; idem GWVA_METHOD_FORM_KEYPRESS
GWVA_METHOD_FORM_KEYPRESSED = GWVA_METHOD_FORM_KEYPRESS|GWVA_METHOD_MASK_AFTER
; idem GWVA_METHOD_FORM_KEYPRESS
; in : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
**********************************************
GWVA_METHOD_FORM_CLICK = GWVA_METHOD_BASE+$202
; What: Traitement consécutif à un simple/double/... clic souris
; What: quel qu'il soit (doite/gauche) dans un objet formulaire
; Who : GWVA_OBJ_CLASS_FORM_OBJ
; Rq : Le click+before est généré quel que soit
; Rq : l'état de l'objet futurement clické (disable,...)
; Rq : Ce n'est pas cette méthode qu'il faut appeler pour générer soi-même
; Rq : un clic artificel. (Appeler la méthode qui formate l'interface avant)
; Rq : ayant le No GEM en entrée, cette méthode filtre si c'est pour elle
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur le buffer d'entrée typé GWVA_FORM_CLICK_IN
; in : d0.l = [ X.w | num gem.w ]
; in : d1.l = [ Y.w | mouse button.w ]
; in : d2.l = [ Key state.w | mouse count.w ]
; out : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
GWVA_METHOD_ON_FORM_CLICK = GWVA_METHOD_FORM_CLICK|GWVA_METHOD_MASK_BEFORE
; idem GWVA_METHOD_FORM_CLICK
; GWVA_METHOD_FORM_CLICKED ainsi que tous les évènements générés par
; GWVA_METHOD_FORM_CLICK sont plus loin.
rsreset
GWVA_FORM_CLICK_IN_WIND_PTR: rs.l 1 ; pointeur sur la fenêtre formulaire contenant l'objet
GWVA_FORM_CLICK_IN_TREE_PTR: rs.l 1 ; pointeur sur l'arbre formulaire en question
GWVA_FORM_CLICK_IN_FATHER_IDX: rs.w 1 ; index de l'objet père
*GWVA_FORM_CLICK_IN_OBJECT_IDX: rs.w 1 ; index de l'objet trouvé par objc_find
*GWVA_FORM_CLICK_IN_MX: rs.w 1 ; mouse X
*GWVA_FORM_CLICK_IN_MY: rs.w 1 ; mouse Y
*GWVA_FORM_CLICK_IN_MB: rs.w 1 ; mouse button
*GWVA_FORM_CLICK_IN_MC: rs.w 1 ; mouse count
*GWVA_FORM_CLICK_IN_KS: rs.w 1 ; Key State
GWVA_FORM_CLICK_IN_STRUCT_LENGTH: rs.w 0
***********************************************
GWVA_METHOD_FORM_BUTTON = GWVA_METHOD_BASE+$203
; What: Réagit graphiquement au clic => appel à FORM_BUTTON et retourne
; What: le résultat du form_button GEM (patché si nécessaire).
; Who : Tous les objets fils d'un formulaire ayant une représentation graphique
; Rq : -
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur le buffer d'entrée typé GWVA_FORM_BUTTON_IN
; in : a2.l = pointeur sur le buffer de sortie typé GWVA_FORM_BUTTON_OUT
; in : d0.l = [ X.w | num gem.w ]
; in : d1.l = [ Y.w | mouse button.w ]
; in : d2.l = [ Key state.w | mouse count.w ]
; out : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
rsreset
GWVA_FORM_BUTTON_IN_WIND_PTR: rs.l 1 ; pointeur sur la fenêtre formulaire contenant l'objet
GWVA_FORM_BUTTON_IN_TREE_PTR: rs.l 1 ; pointeur sur l'arbre formulaire en question
GWVA_FORM_BUTTON_IN_STRUCT_LENGTH: rs.w 0
rsreset
GWVA_FORM_BUTTON_OUT_OBJECT: rs.w 1 ; objet sur lequel a eu lieu le FORM_BUTTON en définitive
GWVA_FORM_BUTTON_OUT_NEW_OBJECT: rs.w 1 ; nouvel objet [retour FORM_BUTTON] (bit 15 mis si double clic et touche-exit)
GWVA_FORM_BUTTON_OUT_RET_CODE: rs.w 1 ; code de retour [retour FORM_BUTTON]
GWVA_FORM_BUTTON_OUT_OLD_STATE: rs.w 1 ; state de l'objet avant l'objc_edit
GWVA_FORM_BUTTON_OUT_NEW_STATE: rs.w 1 ; state de la nouvelle sélection
GWVA_FORM_BUTTON_OUT_NEW_TYPE: rs.w 1 ; ob_type de la nouvelle sélection
GWVA_FORM_BUTTON_OUT_OBJ_PTR: rs.l 1 ; pointeur sur l'objet dans le ressource
GWVA_FORM_BUTTON_OUT_STRUCT_LENGTH: rs.w 0
*GWVA_FORM_BUTTON_OUT_OLD_FLAGS: rs.w 1 ; flags de l'objet clické
*GWVA_FORM_BUTTON_OUT_OLD_OB_TYPE: rs.w 1 ; ob type de l'ancienne sélection
*GWVA_FORM_BUTTON_OUT_NEW_OB_TYPE: rs.w 1 ; ob type de la nouvelle sélection
***********************************************
GWVA_METHOD_FORM_KEYBD = GWVA_METHOD_BASE+$204
; What: Réaction graphique d'un formulaire à une touche
; Who : GWVA_WRSC_CLASS_FORM
; Rq : Un Return sur un Default est buggé en GEM de base (patché)
; Rq : cette méthode est appelée par l'objet fenêtre formulaire qui active
; Rq : en fonction du résultat la méthode form_keypress de l'objet form
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur le buffer de sortie typé GWVA_FORM_KEYB_IN
; in : a2.l = pointeur sur le buffer de sortie typé GWVA_FORM_KEYB_OUT
; in : d0.w = Key code
; out : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
rsreset
GWVA_FORM_KEYB_IN_WIND_PTR: rs.l 1 ; pointeur sur la fenêtre formulaire contenant l'objet
GWVA_FORM_KEYB_IN_TREE_PTR: rs.l 1 ; pointeur sur l'arbre formulaire en question
GWVA_FORM_KEYB_IN_STRUCT_LENGTH: rs.w 0
rsreset
GWVA_FORM_KEYB_OUT_RET_CODE: rs.w 1 ; code de retour [retour FORM_KEYB]
GWVA_FORM_KEYB_OUT_NEW_OBJECT: rs.w 1 ; nouvel objet [retour FORM_KEYB]
GWVA_FORM_KEYB_OUT_KEY_OUT: rs.w 1 ; touche en sortie
GWVA_FORM_KEYB_OUT_STRUCT_LENGTH: rs.w 0
**************************************************
GWVA_METHOD_FORM_OBJC_EDIT = GWVA_METHOD_BASE+$205
; What: Réaction graphique d'un champ de texte éditable
; Who : GWVA_OBJ_CLASS_FORM_OBJ
; Rq : ceci est apellé par FORM_KEYPRESS après qu'il ait fait WIND_FORM_KEYB
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur le buffer de sortie typé GWVA_FORM_OBJC_EDIT_IN
; in : a2.l = pointeur sur le buffer de sortie typé GWVA_FORM_OBJC_EDIT_OUT
; in : d0.w = index GEM de l'objet devant faire l'objc_edit
; in : d1.w = position du curseur
; in : d2.w = [ Key state.w | Key code.w ]
; out : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
rsreset
GWVA_FORM_OBJC_EDIT_IN_WIND_PTR: rs.l 1 ; pointeur sur la fenêtre formulaire contenant l'objet
GWVA_FORM_OBJC_EDIT_IN_TREE_PTR: rs.l 1 ; pointeur sur l'arbre formulaire en question
GWVA_FORM_OBJC_EDIT_IN_STRUCT_LENGTH: rs.w 0
rsreset
GWVA_FORM_OBJC_EDIT_OUT_RET_CODE: rs.w 1 ; code de retour [retour FORM_OBJC_EDIT]
GWVA_FORM_OBJC_EDIT_OUT_CURS_NEW_POS: rs.w 1 ; nouvelle position curseur [retour FORM_OBJC_EDIT]
GWVA_FORM_OBJC_EDIT_OUT_STRUCT_LENGTH: rs.w 0
****************************************************
GWVA_METHOD_FORM_IFACE_CLICK = GWVA_METHOD_BASE+$206
; What: Methode générant un message click sur un objet FORM passé en entrée
; Who : GWVA_OBJ_CLASS_FORM_OBJ
; Rq : Regénère les paramêtres d'entrée de la méthode GWVA_METHOD_FORM_CLICK
; Rq : avant de l'appeler
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur la fenetre contenant l'objet
; out : d6.w = GWVA_PRGRET_CONSUMED
************************************************
GWVA_METHOD_FORM_CLICKED = GWVA_METHOD_BASE+$211|GWVA_METHOD_MASK_EVENT
; What: Message consécutif à un simple/triple/... clic sur un objet exit
; What: ou touch-exit : purement évènementiel.
; Who : GWVA_FORM_CLASS_ GENERIC/BUTTON/EXTD_TEXT/TEXT
; Rq : Généré par GWVA_METHOD_FORM_CLICK
; Rq : Ne marche pas pour un double clic : voir DCLICKED
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur la fenêtre formulaire contenant l'objet
; in : a2.l = pointeur sur l'arbre formulaire en question
; in : d0.l = [ mouse button.w | index de l'objet.w ]
; in : d1.l = [ ob_type.w | ob_state.w ]
; in : d2.l = [ mouse count.w | Key state.w ]
; out : d6.w = GWVA_PRGRET_CONSUMED
*************************************************
GWVA_METHOD_FORM_DCLICKED = GWVA_METHOD_BASE+$212|GWVA_METHOD_MASK_EVENT
; What: Message consécutif à un double clic sur un objet exit
; What: ou touch-exit : purement évènementiel.
; Who : GWVA_FORM_CLASS_ GENERIC/BUTTON/EXTD_TEXT/TEXT
; Rq : Généré par GWVA_METHOD_FORM_CLICK
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur la fenêtre formulaire contenant l'objet
; in : a2.l = pointeur sur l'arbre formulaire en question
; in : d0.l = [ mouse button.w | index de l'objet.w ]
; in : d1.l = [ ob_type.w | ob_state.w ]
; in : d2.w = Key state.w
; out : d6.w = GWVA_PRGRET_CONSUMED
************************************************
GWVA_METHOD_FORM_RCLICKED = GWVA_METHOD_BASE+$213|GWVA_METHOD_MASK_EVENT
; What: Message consécutif à un simple/double/triple/... clic sur un objet
; What: quel qu'il soit : purement évènementiel.
; Who : GWVA_OBJ_CLASS_FORM_OBJ
; Rq : Généré par GWVA_METHOD_FORM_CLICK
; Rq : Il n'y a pas eu de form_button avant !
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur la fenêtre formulaire contenant l'objet
; in : a2.l = pointeur sur l'arbre formulaire en question
; in : d0.l = [ mouse button.w | index de l'objet.w ]
; in : d1.l = [ ob_type.w | ob_state.w ]
; in : d2.l = [ mouse count.w | Key state.w ]
; out : d6.w = GWVA_PRGRET_CONSUMED
***************************************************
GWVA_METHOD_FORM_SELECTED = GWVA_METHOD_BASE+$214|GWVA_METHOD_MASK_EVENT
GWVA_METHOD_FORM_UNSELECTED = GWVA_METHOD_BASE+$215|GWVA_METHOD_MASK_EVENT
; What: Message consécutif à une sélection/désélection d'un objet non exit
; What: et non touch-exit : purement évènementiel.
; Who : GWVA_FORM_CLASS_ GENERIC/BUTTON/EXTD_TEXT/TEXT
; Rq : Généré par GWVA_METHOD_FORM_CLICK
; Rq : Ne marche pas si on a fait plus d'un clic
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur la fenêtre formulaire contenant l'objet
; in : a2.l = pointeur sur l'arbre formulaire en question
; in : d0.w = index de l'objet.w
; in : d1.l = [ ob_type.w | ob_state.w ]
; in : d2.w = Key state.w
; out : d6.w = GWVA_PRGRET_CONSUMED
************************************************
GWVA_METHOD_FORM_CHANGED = GWVA_METHOD_BASE+$216|GWVA_METHOD_MASK_EVENT
; What: Message consécutif au changement de l'apparence d'un objet
; What: (et/ou contenu).
; Who : GWVA_FORM_CLASS_ GENERIC/BUTTON/MENU_POPUP/RADIO_BUTTON/EXTD_TEXT/TEXT
; Rq : Généré par GWVA_METHOD_FORM_CLICK ou GWVA_METHOD_FORM_KEYPRESS
; Rq : L'ancien état n'est jamais dans la structure
; Rq : Dans le cas d'un texte éditable, il n'y a pas de paramètres d'entrée
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur la fenêtre formulaire contenant l'objet
; in : a2.l = pointeur sur l'arbre formulaire en question
; in : d0.l = [ ob_type de la sélection courante.w | index de la sélection courante.w ]
; in : d1.l = [ ob_type de l'ancienne sélection.w | index d'ancienne sélection.w ]
; in : d2.l = [ ob_state de l'ancienne sélection.w | Key state.w ]
; out : d6.w = GWVA_PRGRET_CONSUMED
*****************************************************
GWVA_METHOD_FORM_RELEASE_FOCUS = GWVA_METHOD_BASE+$217
; What: Méthode demandant à un objet formulaire s'il veut perdre le focus
; Who : GWVA_OBJ_CLASS_FORM_OBJ
; Rq : Appelée par GWVA_METHOD_WIND_CLEAR_FOCUS
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur la fenêtre formulaire contenant l'objet
; in : a2.l = pointeur sur l'arbre formulaire en question
; in : d0.w = index ressource de l'objet devant lacher le focus
; out : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
; out : d7.w = GWVA_NO_ERROR_GENERIC ou GWVA_ERROR_GENERIC
***************************************************
GWVA_METHOD_FORM_CATCH_FOCUS = GWVA_METHOD_BASE+$218
; What: Méthode demandant à un objet formulaire s'il veut prendre le focus
; Who : GWVA_OBJ_CLASS_FORM_OBJ
; Rq : Appelée par GWVA_METHOD_WIND_SET_FOCUS
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur la fenêtre formulaire contenant l'objet
; in : a2.l = pointeur sur l'arbre formulaire en question
; in : d0.w = index ressource de l'objet devant lacher le focus
; in : d1.w = position du curseur (pour fin de ligne : GWVA_WFORM_CTE_FOCUSED_IDX_CURSOR_POS_UNDEF)
; out : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
; out : d7.w = GWVA_NO_ERROR_GENERIC ou GWVA_ERROR_GENERIC
******************************************************************
GWVA_METHOD_FPROGRESS_BAR_SET_PERCENT = GWVA_METHOD_BASE+$231
; What: Méthode pour mettre à jour le pourcentage de l'objet sans redraw
; Who : GWVA_FORM_CLASS_PROGRESS_BAR
; Rq : -
; in : a0.l = pointeur sur l'objet progress bar
; in : d0.w = pourcentage
; out : d6.w = GWVA_PRGRET_CONSUMED
*********************************************************************
GWVA_METHOD_FPROGRESS_BAR_UPDATE_PERCENT = GWVA_METHOD_BASE+$232
; What: Méthode pour mettre à jour le pourcentage de l'objet avec redraw
; Who : GWVA_FORM_CLASS_PROGRESS_BAR
; Rq : -
; in : a0.l = pointeur sur l'objet progress bar
; in : a1.l = pointeur sur la fenêtre formulaire contenant l'objet
; in : d0.w = pourcentage
; out : d6.w = GWVA_PRGRET_CONSUMED
*********************************************************************
GWVA_METHOD_FPROGRESS_BAR_REDRAW = GWVA_METHOD_BASE+$233
; What: Méthode pour redessiner l'objet progress bar
; Who : GWVA_FORM_CLASS_PROGRESS_BAR
; Rq : -
; in : a0.l = pointeur sur l'objet progress bar
; in : a1.l = pointeur sur la fenêtre formulaire contenant l'objet
; out : d6.w = GWVA_PRGRET_CONSUMED
************************************************
GWVA_METHOD_FSLIDER_MOVE = GWVA_METHOD_BASE+$241
; What: Message de gestion du mouvement du slider
; Who : GWVA_FORM_CLASS_SLIDER
; Rq : -
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur la fenêtre formulaire
; in : d0.l = déplacement du slider en nombre d'élément
; out : d6.w = GWVA_PRGRET_CONSUMED
GWVA_METHOD_ON_FSLIDER_MOVE = GWVA_METHOD_FSLIDER_MOVE|GWVA_METHOD_MASK_BEFORE
; idem GWVA_METHOD_FSLIDER_MOVE
GWVA_METHOD_FSLIDER_MOVED = GWVA_METHOD_FSLIDER_MOVE|GWVA_METHOD_MASK_AFTER
; What: Message de gestion du mouvement du slider
; Who : GWVA_FORM_CLASS_SLIDER
; Rq : Le moved n'est pas généré s'il n'y pas eu un mouvement effectif
; Rq : du slider
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur la fenêtre formulaire contenant l'objet
; in : d0.l = nouvelle position de l'objet
; in : d1.l = déplacement effectif du coulisseau (signé)
; out : d6.w = GWVA_PRGRET_CONSUMED
*************************************************
GWVA_METHOD_FSLIDER_PLUS1 = GWVA_METHOD_BASE+$242
; What: Message déplacant le slider d'un élément en plus
; Who : GWVA_FORM_CLASS_SLIDER
; Rq : Génère un FSLIDER_MOVE et eventuellement un MOVED.
; Rq : Pas de gestion de l'objet RSC de P1.
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur la fenêtre formulaire
; out : d6.w = GWVA_PRGRET_CONSUMED
**************************************************
GWVA_METHOD_FSLIDER_MINUS1 = GWVA_METHOD_BASE+$243
; What: Message déplacant le slider d'un élément en moins
; Who : GWVA_FORM_CLASS_SLIDER
; Rq : Génère un FSLIDER_MOVE et eventuellement un MOVED.
; Rq : Pas de gestion de l'objet RSC de M1.
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur la fenêtre formulaire
; out : d6.w = GWVA_PRGRET_CONSUMED
****************************************************
GWVA_METHOD_FSLIDER_PLUSPAGE = GWVA_METHOD_BASE+$244
; What: Message déplacant le slider d'une page en plus
; Who : GWVA_FORM_CLASS_SLIDER
; Rq : Génère un FSLIDER_MOVE et eventuellement un MOVED.
; Rq : Pas de gestion de l'objet RSC de P1P.
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur la fenêtre formulaire
; out : d6.w = GWVA_PRGRET_CONSUMED
*****************************************************
GWVA_METHOD_FSLIDER_MINUSPAGE = GWVA_METHOD_BASE+$245
; What: Message déplacant le slider d'une page en moins
; Who : GWVA_FORM_CLASS_SLIDER
; Rq : Génère un FSLIDER_MOVE et eventuellement un MOVED.
; Rq : Pas de gestion de l'objet RSC de M1P.
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur la fenêtre formulaire
; out : d6.w = GWVA_PRGRET_CONSUMED
********************************************************
GWVA_METHOD_FSLIDER_SET_POSITION = GWVA_METHOD_BASE+$246
; What: Message positionnant le slider à une position donnée
; Who : GWVA_FORM_CLASS_SLIDER
; Rq : Génère un FSLIDER_MOVE et eventuellement un MOVED.
; Rq : La position sera corrigée si elle dépasse les limites possibles.
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur la fenêtre formulaire
; in : d0.l = position voulue ( 0 <= x < LENGTH)
; out : d6.w = GWVA_PRGRET_CONSUMED
***********************************
; GWVA_METHOD_WM_* = WM_*
; What: Message reçu du pipe évènement GEM pour une fenêtre.
; Who : GWVA_OBJ_CLASS_WINDOW
; in : a0.l = pointeur sur l'objet
; in : a1.l = pointeur sur un buffer au format message GEM (8 mots)
; in : d0.w = handle GEM de la fenêtre destinatrice
; out : d6.w = GWVA_PRGRET_NOT_CONSUMED ou GWVA_PRGRET_CONSUMED
; out : d7.w = GWVA_NO_ERROR_GENERIC ou autre si erreur
GWVA_METHOD_WM_REDRAW = WM_REDRAW
GWVA_METHOD_WM_TOP = WM_TOPPED
GWVA_METHOD_WM_CLOSE = WM_CLOSED
GWVA_METHOD_WM_FULL = WM_FULLED
GWVA_METHOD_WM_ARROW = WM_ARROWED
GWVA_METHOD_WM_HSLID = WM_HSLID
GWVA_METHOD_WM_VSLID = WM_VSLID
GWVA_METHOD_WM_SIZE = WM_SIZED
GWVA_METHOD_WM_MOVE = WM_MOVED
GWVA_METHOD_WM_NEWTOP = WM_NEWTOP
GWVA_METHOD_WM_UNTOP = WM_UNTOPPED
GWVA_METHOD_WM_ONTOP = WM_ONTOP
GWVA_METHOD_WM_BOTTOM = WM_BOTTOM
GWVA_METHOD_WM_ICONIFY = WM_ICONIFY
GWVA_METHOD_WM_UNICONIFY = WM_UNICONIFY
*GWVA_METHOD_WM_ALLICONIFY = WM_ALLICONIFY
*GWVA_METHOD_WM_TOOLBAR = WM_TOOLBAR
GWVA_METHOD_ON_WM_REDRAW = GWVA_METHOD_WM_REDRAW|GWVA_METHOD_MASK_BEFORE
GWVA_METHOD_ON_WM_TOP = GWVA_METHOD_WM_TOP|GWVA_METHOD_MASK_BEFORE
GWVA_METHOD_ON_WM_CLOSE = GWVA_METHOD_WM_CLOSE|GWVA_METHOD_MASK_BEFORE
GWVA_METHOD_ON_WM_FULL = GWVA_METHOD_WM_FULL|GWVA_METHOD_MASK_BEFORE
GWVA_METHOD_ON_WM_ARROW = GWVA_METHOD_WM_ARROW|GWVA_METHOD_MASK_BEFORE
GWVA_METHOD_ON_WM_HSLID = GWVA_METHOD_WM_HSLID|GWVA_METHOD_MASK_BEFORE
GWVA_METHOD_ON_WM_VSLID = GWVA_METHOD_WM_VSLID|GWVA_METHOD_MASK_BEFORE
GWVA_METHOD_ON_WM_SIZE = GWVA_METHOD_WM_SIZE|GWVA_METHOD_MASK_BEFORE
GWVA_METHOD_ON_WM_MOVE = GWVA_METHOD_WM_MOVE|GWVA_METHOD_MASK_BEFORE
GWVA_METHOD_ON_WM_NEWTOP = GWVA_METHOD_WM_NEWTOP|GWVA_METHOD_MASK_BEFORE
GWVA_METHOD_ON_WM_UNTOP = GWVA_METHOD_WM_UNTOP|GWVA_METHOD_MASK_BEFORE
GWVA_METHOD_ON_WM_ONTOP = GWVA_METHOD_WM_ONTOP|GWVA_METHOD_MASK_BEFORE
GWVA_METHOD_ON_WM_BOTTOM = GWVA_METHOD_WM_BOTTOM|GWVA_METHOD_MASK_BEFORE
GWVA_METHOD_ON_WM_ICONIFY = GWVA_METHOD_WM_ICONIFY|GWVA_METHOD_MASK_BEFORE
GWVA_METHOD_ON_WM_UNICONIFY = GWVA_METHOD_WM_UNICONIFY|GWVA_METHOD_MASK_BEFORE
*GWVA_METHOD_ON_WM_ALLICONIFY = GWVA_METHOD_WM_ALLICONIFY|GWVA_METHOD_MASK_BEFORE
*GWVA_METHOD_ON_WM_TOOLBAR = GWVA_METHOD_WM_TOOLBAR|GWVA_METHOD_MASK_BEFORE
GWVA_METHOD_WM_REDRAWN = GWVA_METHOD_WM_REDRAW|GWVA_METHOD_MASK_AFTER
GWVA_METHOD_WM_TOPPED = GWVA_METHOD_WM_TOP|GWVA_METHOD_MASK_AFTER
GWVA_METHOD_WM_CLOSED = GWVA_METHOD_WM_CLOSE|GWVA_METHOD_MASK_AFTER
GWVA_METHOD_WM_FULLED = GWVA_METHOD_WM_FULL|GWVA_METHOD_MASK_AFTER
GWVA_METHOD_WM_ARROWED = GWVA_METHOD_WM_ARROW|GWVA_METHOD_MASK_AFTER
GWVA_METHOD_WM_HSLIDED = GWVA_METHOD_WM_HSLID|GWVA_METHOD_MASK_AFTER
GWVA_METHOD_WM_VSLIDED = GWVA_METHOD_WM_VSLID|GWVA_METHOD_MASK_AFTER
GWVA_METHOD_WM_SIZED = GWVA_METHOD_WM_SIZE|GWVA_METHOD_MASK_AFTER
GWVA_METHOD_WM_MOVED = GWVA_METHOD_WM_MOVE|GWVA_METHOD_MASK_AFTER
GWVA_METHOD_WM_NEWTOPPED = GWVA_METHOD_WM_NEWTOP|GWVA_METHOD_MASK_AFTER
GWVA_METHOD_WM_UNTOPPED = GWVA_METHOD_WM_UNTOP|GWVA_METHOD_MASK_AFTER
GWVA_METHOD_WM_ONTOPPED = GWVA_METHOD_WM_ONTOP|GWVA_METHOD_MASK_AFTER
GWVA_METHOD_WM_BOTTOMED = GWVA_METHOD_WM_BOTTOM|GWVA_METHOD_MASK_AFTER
GWVA_METHOD_WM_ICONIFIED = GWVA_METHOD_WM_ICONIFY|GWVA_METHOD_MASK_AFTER
GWVA_METHOD_WM_UNICONIFIED = GWVA_METHOD_WM_UNICONIFY|GWVA_METHOD_MASK_AFTER
*GWVA_METHOD_WM_ALLICONIFIED = GWVA_METHOD_WM_ALLICONIFY|GWVA_METHOD_MASK_AFTER
*GWVA_METHOD_WM_TOOLBARED = GWVA_METHOD_WM_TOOLBAR|GWVA_METHOD_MASK_AFTER
;-------------------------------------------------------------------------
; Code de retour de la routine appelée par GWVA_RSC_GO_OVER_TREE (RSC library)
;-------------------------------------------------------------------------
GWVA_RSC_CTE_STOP_GO_OVER = 0
GWVA_RSC_CTE_CONTINUE_GO_OVER = 1
;-------------------------------------------------------------------------
; Liste des modes d'activation de la routine de GWVA_ROOT_SEND_GEM_MESSAGE
;-------------------------------------------------------------------------
GWVA_MODE_SEND_GEM_MESSAGE_APID = 1 ; passage de l'apid de l'application destinatrice
GWVA_MODE_SEND_GEM_MESSAGE_APNAME = 2 ; passage du nom de l'application destinatrice
GWVA_MODE_SEND_GEM_MESSAGE_TO_MYSELF = 3 ; envoi à moi-meme
;-------------------------------------------------------------------------
; Liste des modes d'activation de la routine de distribution de méthodes
;-------------------------------------------------------------------------
; Distribue à cet objet uniquement, sans jamais chercher sa parenté.
; [LOCAL+DEFAULT]
GWVA_MODE_SEARCH_EXEC_UNIQUE = 1
; Distribue à cet objet uniquement, sans jamais chercher sa parenté.
; [LOCAL] (surcharge)
GWVA_MODE_SEARCH_EXEC_LOCAL_ONLY = 2
; Distribue uniquement à tous les fils de niveau 1 de cet objet
; (sans tester CONSUMED). [LOCAL+DEFAULT]
GWVA_MODE_SEARCH_EXEC_ALL_FIRST_SONS= 3
; Distribue uniquement à tous les fils de niveau 1 de cet objet
; qui sont des fenêtres et en positionnant le bon handle
; (sans tester CONSUMED). [LOCAL+DEFAULT]
GWVA_MODE_SEARCH_EXEC_AFS_WHANDLE = 4
; Distribue à cet objet et exécute la méthode la plus surchargeante
GWVA_MODE_EXEC_METHOD = 11
; Distribue à tous les 1er fils de cet objet et exécute la méthode la plus surchargeante
GWVA_MODE_EXEC_METHOD_ALL_FIRST_SONS = 12
; Distribue à tous les 1er fils de cet objet en leur passant leur handle GEM et exécute la méthode la plus surchargeante
GWVA_MODE_EXEC_METHOD_AFS_WHANDLE = 13
; Distribue à cet objet et exécute la méthode surchargée
GWVA_MODE_EXEC_METHOD_ENCAPSULATED_CLASS = 14
; distribue à tous les fils de cet objet sans tester CONSUMED or NOT
GWVA_MODE_CLASS_METHOD_SEARCH_ALL_FIRST_SON = 21
; distribue à tous les fils fenetre de cet objet sans tester CONSUMED or NOT
; et positionne leur handle GEM dans d0 pour forcer la prise en compte (CLICK)
GWVA_MODE_CLASS_METHOD_SEARCH_AFS_WITH_HANDLE = 22
; distribue un évènement généré par le V.A en cherchant uniquemement en LOCAL
GWVA_MODE_CLASS_METHOD_SEARCH_VISUAL_EVENT = 23
; Appel de méthode d'un objet autre que l'objet courant (class MAX forcément)
GWVA_MODE_CLASS_METHOD_SEARCH_OTHER_OBJ = 24
; Appel d'une méthode différente de la même classe (cherche à partir de i)
GWVA_MODE_CLASS_METHOD_SEARCH_DIFF_METH_SAME_CLASS= 25
; Appel de la même méthode que courante mais classe i-1 (classe dont on hérite)
GWVA_MODE_CLASS_METHOD_SEARCH_INHERITED = 26
;-------------------------------------------------------------------------
; Codes de retour (D6) de la routine de distribution de méthode
GWVA_SEARCH_EXEC_CONSUMED = 1 ; Méthode distribuée (et CONSUMED peut-être plusieurs fois)
; le code erreur du dernier CONSUMED est dans D7
GWVA_SEARCH_EXEC_NOT_CONSUMED = 2 ; Méthode distribuée mais jamais consommée
; code erreur non significatif dans D7
GWVA_SEARCH_EXEC_NOT_FOUND = 3 ; Méthode non trouvée
GWVA_SEARCH_EXEC_NO_DEST_FOUND = 4 ; Pas de destinataire trouvé avec le critère d'entrée
GWVA_SEARCH_EXEC_USER_ERROR = 5
*GWVA_SEARCH_EXEC_RETURN_METHOD_UNDEF= 6 ; Si la méthode ne renvoie pas CONSUMED ou NOT_CONSUMED
GWVA_SEARCH_EXEC_CONSUMED_BY_ONE_OBJECT=7 ; Au moins un des objets a consommé la méthode (cas ALL_FIRST_SON)
;-------------------------------------------------------------------------
; Codes de retour (D6) des méthodes
GWVA_PRGRET_CONSUMED = GWVA_SEARCH_EXEC_CONSUMED ; Code d'erreur valide
GWVA_PRGRET_NOT_CONSUMED = GWVA_SEARCH_EXEC_NOT_CONSUMED ; Pas de code d'erreur
;-------------------------------------------------------------------------
; Codes de retour GWVA_ROOT_SEARCH_CLOSEST_PARENT_OBJECT
GWVA_ROOT_CTE_CLOSEST_PARENT_IS_FATHER = 1
GWVA_ROOT_CTE_CLOSEST_PARENT_IS_BROTHER = 2
;-------------------------------------------------------------------------
; Modes d'activation de GWVA_ROOT_CLONE_OBJECT
GWVA_ROOT_CTE_CLONE_RELOC_ONE_OBJECT = 1
GWVA_ROOT_CTE_CLONE_RELOC_FAMILY_TREE = 2
;-------------------------------------------------------------------------
; Codes de retour de la classe WIND
GWVA_WIND_CTE_CLICK_IS_CONSUMED =1
GWVA_WIND_CTE_CLICK_IS_NOT_CONSUMED =2
GWVA_WIND_CTE_REDRAW_IS_POSSIBLE =3
GWVA_WIND_CTE_REDRAW_IS_NOT_POSSIBLE=4
;-------------------------------------------------------------------------
; Codes de retour de la classe WRSC
GWVA_WRSC_CTE_NO_RSC_OBJECT = 1
GWVA_WRSC_CTE_CLICK_IS_CONSUMED = 3 (différent de la classe WIND)
GWVA_WRSC_CTE_CLICK_IS_NOT_CONSUMED = 4
;-------------------------------------------------------------------------
; Codes de retour de la classe WFORM
GWVA_WFORM_CTE_CLICK_IS_CONSUMED = 5 (différent de la classe WIND)
GWVA_WFORM_CTE_CLICK_IS_NOT_CONSUMED = 6
;-------------------------------------------------------------------------
; Codes de retour de la classe WFORM
GWVA_WBITM_CTE_REDRAW_IS_POSSIBLE = 1 (différent de la classe WIND)
GWVA_WBITM_CTE_REDRAW_IS_NOT_POSSIBLE= 2
;-------------------------------------------------------------------------
; Codes d'erreur (D7)
GWVA_NO_ERROR_GENERIC = 0
GWVA_ERROR_GENERIC = -1
GWVA_ERROR_READ = -11
GWVA_ERROR_MALLOC = -39
; Codes d'erreur de WIND_CREATE (D7)
GWVA_ERROR_WIND_BAD_HANDLE = $FFFFF000
GWVA_ERROR_WIND_OPEN = $FFFFF001
GWVA_ERROR_WIND_ALREADY_CREATED = $FFFFF002
GWVA_ERROR_WIND_BAD_STRUCTURE = $FFFFF003
GWVA_ERROR_WIND_BAD_INC_DEF = $FFFFF004
GWVA_ERROR_WIND_GEM_CREATE = $FFFFF005
GWVA_ERROR_WIND_MOTHER_DOESNT_EXIST = $FFFFF006
GWVA_ERROR_WIND_MOTHER_NOT_OPENED = $FFFFF007
GWVA_ERROR_WIND_CONTENTS_VERIFY_ERR = $FFFFF008
GWVA_ERROR_WIND_BORDERS_TOO_SMALL = $FFFFF009
; Codes d'erreur de la méthode CREATE de l'objet fenêtre bitmap
GWVA_ERROR_WBITM_BAD_COLOR_NBR = $FFFFF00A
; Codes d'erreur de la méthode CREATE de l'objet fenêtre texte
GWVA_ERROR_WTEXT_MALLOC = $FFFFF010
; Codes d'erreur de la méthode CREATE de l'objet fenêtre application (D7)
GWVA_ERROR_WAPP_INIT_FAILED = $FFFFF020
GWVA_ERROR_WAPP_RSC_LOAD_FAILED = $FFFFF021
GWVA_ERROR_WAPP_RSC_LOAD_BAD_INCLUDE= $FFFFF022
GWVA_ERROR_WAPP_RSC_RELOCATE_FAILED = $FFFFF023
GWVA_ERROR_WAPP_WORKSTATION_OPEN_FAILED = $FFFFF024
; Codes d'erreur de la méthode CREATE de l'objet fenêtre popup RSC (D7)
GWVA_ERROR_WRSCPOPUP_UNABLE_REGISTER_CLICK = $FFFFF025
; Codes d'erreur des méthodes ROOT
GWVA_ERROR_ROOT_INIT_METHOD_LIST = $FFFFF026
GWVA_ERROR_ROOT_HANDLE_ALREADY_ALLOCATED = $FFFFF027
GWVA_ERROR_ROOT_APNAME_NOT_FOUND = $FFFFF028
GWVA_ERROR_ROOT_APPL_WRITE_FAILED = $FFFFF029
GWVA_ERROR_ROOT_BAD_CONSTRUCTION = $FFFFF02A
GWVA_ERROR_BAD_CLASS = $FFFFF030
GWVA_ERROR_SEARCH_EXEC_METHOD_LIST_PTR = $FFFFF040
GWVA_ERROR_SEARCH_EXEC_NO_METHOD_LIST = $FFFFF041
GWVA_ERROR_RSC_NO_SAVE_PARAMETERS = $FFFFF042
GWVA_ERROR_RSC_NO_TREE_IDX = $FFFFF043
GWVA_ERROR_RSC_BUFFER_UNMATCH = $FFFFF044
GWVA_ERROR_CLONING_OBJECT_ALREADY_CREATED = $FFFFF045
GWVA_ERROR_CLONING_SIZE = $FFFFF046
GWVA_ERROR_CLONING_RELOCATION_TREE = $FFFFF047
;---------------------------------------------------------------------------
; Variables système personnalisées
;---------------------------------------------------------------------------
dos = 1
bios = 13
xbios = 14
esc = 27
lf = 10
rc = 13 ; format Atari : rc lf
cr = rc
ff = 12
bspc = 8
tab = 9
read = 0 ; pour file open, write ...
write = 1
read_write = 2
; 0=BPS1 1=BPS2 2=BPS4 3=BPS8 4=BPS16 7=NUMCOLS
; 0=col40 8=col80 tv=0 vga=$10 pal=$20 overscan=$40 STmodes=$80 Vertflag=$100
res64048016 = $3a ; pour set mode : tout est en PAL/VGA
res640480256 = $3b
res320480tc = $34
res32020016 = $1b2 ; compatible basse
res32024016 = $132
res32048016 = $32
res320240256 = $133
res320240tc = $134
freq8 = %00001011
freq10 = %00001001
freq12 = %00000111
freq16 = %00000101
freq20 = %00000100
freq25 = %00000011
freq33 = %00000010
freq49 = %00000001
;---------------------------------------------------------------------------
ecran = $44e
futur_ecran = $45e
vbl_cpt = $466
cpt_200 = $4ba
vblqueue = $4ce+4
enable_vbl = $452
hbl = $68
palette = $ffff8240
palette256 = $ffff9800
chipsonore = $ffff8800
chipvideo = $ffff8205
clavier = $fffffc02
dma = $ffff8604
datac = $fffffa23
datad = $fffffa25
ctrlcd = $fffffa1d
timera = $134
dataa = $fffffa1f
ctrla = $fffffa19
timerb = $120
datab = $fffffa21
ctrlb = $fffffa1b
zilog8530A = $ffff8c81
zilogrsA = $ffff8c83 ; zilog send/receive register
zilog8530B = $ffff8c85
zilogrsB = $ffff8c87
dsp_host_isr = $ffffa202
dsp_host = $ffffa204
codec_freq = $ffff8935
;-------------------------------------------------------------------------
GWVA_SCANCODE = $80
;-------------------------------------------------------------------------
; Constantes pour les touches du clavier : scancodes
SPACE = $39
Nmpad_2 = $6E
HELP = $62
UNDO = $61
INSERT = $52
CLR_HOME = $47
UP_ARROW = $48
DOWN_ARROW = $50
LEFT_ARROW = $4B
RIGHT_ARROW = $4D
F1 = $3B
F2 = $3C
F3 = $3D
F4 = $3E
F5 = $3F
F6 = $40
F7 = $41
F8 = $42
F9 = $43
F10 = $44
F11 = $54
F12 = $55
F13 = $56
F14 = $57
F15 = $58
F16 = $59
F17 = $5A
F18 = $5B
F19 = $5C
F20 = $5D
; Appel chez Bounoit de LINDA le 15/08/98 pour Pierre !!!!